EDITED的sizeof()嵌套结构阵列
#include<stdio.h>
typedef struct ns{
int sd;
int we;
char st;
int m;
}ds;
typedef struct numb
{
char b;
ds rt;
}num;
static num a[]={1,'a'};
int read(int number)
{
printf("%d\n",number);
return 1;
}
int main()
{
printf("%d",sizeof(a[0].rt));
read(sizeof(a[0].rt));
read(sizeof(a[0]));
return 0;
}
我的疑问是传递的sizeof当作为参数将被修改为临时指针变量的阵列组成。但是,在尝试打印sizeof时,它在结构数组以及嵌套结构数组中给出了实际大小。为什么包含结构数组的第二次读取没有被转换为指针作为其数组。
你是什么意思*输出大小到大*? –
不,尺寸是正确的。你只需要调整你的期望。 –
您希望打印的尺寸是多少?你得到什么结果?你的平台是什么? – mizo