有一个结构体
struct student
{
long num;
char name[20];
}zhao;
输入数据时是这样:
scanf("%s",zhao.name); //这里为什么没有&了?
scanf
这个函数要求使用变量的地址,而变量name
是一个数组,数组的名字代表了数组的地址,所以不用使用&
这个取地址的操作符了
这个和结构体没有关系,单独一个数组在这种情况下也不需要&
数组名会被解释为指针但是具体的a[3]应该是表示值的吧大概
这里学习的时候可能有一点歧义,zhao.name存储的是字符串,所以它是一个数组,而不是一个变量,而数组名是相当于一个指针可以直接当做地址.