Q:为什么D不对?
A:
*p是用来计算的
*的意思是提取p对应地址的变量值
不能让*p=其他变量或者数
p对应的是字符数组的首位的地址
*p对应的是字符数组首位元素
Q:能不能理解成*(p=data.a)?
A:
p=data.a也不对
p是个指针,指针要指向地址,所以必须是p=&xxx,但p可以直接等于数组名 如:p=stu 因为数组名就是数组首位的地址,所以其实指针就是一种数组。
Q:不能理解
A:
定义数组p时是结构体数组,所以p不能等于stu.name,如果要等于,就得把name强制转化成结构体数组,只要这两个数组的数据类型不一样都得强制转化。
因为p等于的是name,可以把p看作数组名。