struct { int x; char *y; }tab[2]={{1,"ab"},{2,"cd"}},*p=tab; *p为什么能指向tab;为什么不是p=tab;

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/03 21:15:28
struct { int x; char *y; }tab[2]={{1,
xőN@_˦ --O@ܹ2.J]L$ ӘȟF $&F-)k]Μ3~JY33L,myS=ElSOkHzJk_ɶhA&4O'/kޠ {XT&c$CG>oƐ5V .sJQN/Q/OLn 5~-2h` }ȋNz;@hFr-zxFL'&mܣǨ}I ktġӤ@+c~ +΃d0!6E׷D/w'x.W5(K4hqdצƲDO'V?hPsy

struct { int x; char *y; }tab[2]={{1,"ab"},{2,"cd"}},*p=tab; *p为什么能指向tab;为什么不是p=tab;
struct { int x; char *y; }tab[2]={{1,"ab"},{2,"cd"}},*p=tab; *p为什么能指向tab;为什么不是p=tab;

struct { int x; char *y; }tab[2]={{1,"ab"},{2,"cd"}},*p=tab; *p为什么能指向tab;为什么不是p=tab;
这句后半部分在定义了一个指针struct(int x;char *y) *p = tab; 在定义时*的作用是在修饰p是一个指针,前面struct是在修饰时什么样的指针,实际上可以分成两部分,strcut(int x;char *y ) * p = NULL; p = tab;
不是处于定义时 *p = 表示对*p 进行赋值 ,在定义时*p=变身对p进行赋值