#include <iostream>
#include <malloc.h>
using namespace std;
class A{
public:
A(){}
public:
char c;
char data_arr[];//柔性数组并不占空间,有些编译器也支持arr[0],一般可用于变长结构体中,如在网络编程中需要发送的content长度不确定
};
int main()
{
cout << "sizeof(A):" << sizeof(A)<<endl;
int len = 3;
A *a = (A*)malloc(sizeof(A)+sizeof(char)*len);
for(int i=0;i<len;i++){
a->data_arr[i] = i+'0';
}
for(int i=0;i<len;i++){
cout << a->data_arr[i] << endl;
}
cout << "sizeof(*a):" << sizeof(*a) << endl; free(a);
return 0;
}
sizeof(A):1
0
1
2
sizeof(*a):1
柔性数组
最新推荐文章于 2019-04-21 15:12:16 发布