C语言编程题目,求大神解析!

C语言编程题目,求大神解析!
已知
struct teacher
{
char name[8];
char gender;
unsigned long int id_num;
float salary;
}t[20];
struct teacher *pt=t;

请问指针p执行p++时,增加的字节数是多少?

没增加
p++相当于一个普通变量++运算,只不过具体加的数是指定数据类型的宽度,即sizeof(teacher).只是递增了一块地址,
只有new一个teacher时才会是实实在在增加一块内存占用.
你在快递盒上原先的XXX路10号+1,不会实实在在创建一幢房子,是吧?,只有在隔壁造一幢新房子,然后申请编号,这个XXX路11号才有意义.new就是向政府申请造新房子并编号.这个政府就是系统.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-26
应该是一个t数组元素的sizeof
请看

printf("len %d\n",sizeof(t[0]));
printf("pt %ld\n",pt);
pt++;
printf("diff %ld\n",pt);
运行结果

len 32
pt 93988814753888
diff 93988814753920追问

请问可以做更详细一点的解释吗?

第2个回答  2019-12-22
执行p++后,字节数增加400。
相似回答