结构体的变量名究竟是什么?
一 知识准备
1 什么是指针?指针是地址
(1)在32位系统中,存储任何一个指针所占用的内存都为四个字节。
(2)不同类型的指针步长不一样。
2 指针变量和指针所指向的内存空间变量是两个不同的概念
二 结构体的变量名是指针所指向的内存空间变量,数组名是指针变量。
1 (1)代码:
#include<stdio.h>
struct student{
intage;
charsex;
}yang;
int main()
{
intzhang = 6;
intwang[2] = {1,2};
yang.age= 7;
printf("int的变量名的值%d\n",zhang);
//1 int的变量名是指针所指向的内存空间变量
printf("数组的变量名的值%d\n",wang);
//2 数组的变量名是指针变量
printf("结构体的变量名的值%d\n",yang);
//3 结构体的变量名是指针所指向的内存空间变量
printf("结构体的变量名的地址的值%d\n",&yang);
//printf("%d\n",yang+1);报错
printf("结构体的变量名的地址+1的值%d\n",&yang+1);
//4指针步长测试
return0;
}
(2)运行结果:
int的变量名的值6
数组的变量名的值1703732
结构体的变量名的值7
结构体的变量名的地址的值4357680
结构体的变量名的地址+1的值4357688
三 1 明确区分开结构名和结构变量这两个概念
2 使用结构变量成员的一般形式是:
结构变量名.成员名