柔性数组我认为就是动态数组,在C++中,定义柔性数组需要两个步骤:
1.定义一个结构体
2.在结构体最后一个元素定义一个没有长度的数组
下面的b就是一个柔性数组,如果把b放到a的上面是会报错的
执行下面代码,会打印出4,因为4是int类型a的大小,四个字节,也就是说,b不占用任何空间
如果将结构体调整成
那么sizeof(ms)会打印出8,一个a加一个长度为1的b
也就是说,柔性数组的初始值,才会影响这个结构体的大小
柔性数组我认为就是动态数组,在C++中,定义柔性数组需要两个步骤:
1.定义一个结构体
2.在结构体最后一个元素定义一个没有长度的数组
下面的b就是一个柔性数组,如果把b放到a的上面是会报错的
执行下面代码,会打印出4,因为4是int类型a的大小,四个字节,也就是说,b不占用任何空间
如果将结构体调整成
那么sizeof(ms)会打印出8,一个a加一个长度为1的b
也就是说,柔性数组的初始值,才会影响这个结构体的大小
就没咋用过。。。
#include #include #define N 4#define STR "abcd" int main(){ struct student { }stu; printf("N = %d\n", sizeof(N)); printf("n...
Java 虚拟机 一、基本概念 二、Java 内存区域 2.1 程序计数器 2.2 Java虚拟机栈  
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M