typedef struct Data
{
int arr[10];
int* p_low;
int* p_high;
} Data;
int main()
{
Data* data = NULL;
printf("%p\n",data->arr);
printf("%p\n",&(data->arr[1]));
printf("%p\n",data->p_low); 为什么程序再这里就 crash 了????
printf("%p\n",data->p_high);
return 0;
知道了,是因为访问了空的指针.
C语言中结构体对齐问题 收藏 关于C语言中的结构体对齐问题
1,比如:
struct{short a1;short a2;short a3;}A;struct{long a1;short a2;}B;sizeof( A)=6, sizeof( B)=8,为什么?注:sizeof(short)=2,sizeof(long)=4
因为:“成员对齐有一个重要的条件,即每个......
答案就在这里:C语言中结构体对齐问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
知道了,是因为访问了空的指针.