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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/16 03:48:18
struct{intx;char*y;}tab[2]={{1,"ab"},{2,"cd"}},*p=tab;*p为什么能指向tab;为什么不是p=tab;struct{intx;char*y;}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; }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进行赋值