为什么输出不同?
#include <stdio.h>#define PIN1 char*
typedef char* PIN2;
void main()
{
PIN1 x,y;
PIN2 a,b;
printf("%d%d\n",sizeof(x),sizeof(y));
printf("%d%d\n",sizeof(a),sizeof(b));
} #include <stdio.h>
#define PIN1 char*
typedef char* PIN2;
void main()
{
PIN1 x,y;---->扩展:char* x, y;这里*不是与char配对的,它是与char后面第一个变量配对的,也就是说x是个指针,y是个普通变量 。
PIN2 a,b;----->这里把char和*组合起来起的一个别名,因此a,b都是指针。
printf("%d%d\n",sizeof(x),sizeof(y));
printf("%d%d\n",sizeof(a),sizeof(b));
} PIN1 x,y; == char*x, y;
PIN2 a,b; == char *x, *y;
甲鱼老师的课里说得很清楚。 这就是上课不认真的结果{:10_312:} ba21 发表于 2019-11-2 11:13
PIN1 x,y; == char*x, y;
PIN2 a,b; == char *x, *y;
好的,重新看了一遍视频,谢谢您! bin554385863 发表于 2019-11-2 11:23
这就是上课不认真的结果
惭愧惭愧
页:
[1]