网站开发流程龙岩,北京市,北京网站建设app开发,网站制作费用预算表结构体指针初始化以及结构体变量作为函数实参传递时易混淆的知识点
首先要明确#xff0c;结构体类型是用户自己定义的一种数据类型#xff0c;其本质上与int, char等标准数据类型是一致的
**1.**因此#xff0c;在进行结构体指针的初始化时#xff0c;应该这样写#x…结构体指针初始化以及结构体变量作为函数实参传递时易混淆的知识点
首先要明确结构体类型是用户自己定义的一种数据类型其本质上与int, char等标准数据类型是一致的
**1.**因此在进行结构体指针的初始化时应该这样写
# include iostream
using namespace std;
int main()
{typedef struct{int number; //学号char sex; //性别 }stu;
stu x;
stu *p1x; //定义结构体指针p1并初始化int a[3] {1,2,3};int *p2a;cout*p2endl;return 0;
}即stu *p1x;,而不应该写成stu *p1x.前面已经说了结构体类型是用户自己定义的一种数据类型其本质上与int、char等标准数据类型是一致的故结构体指针变量名并不代表结构体变量首地址在对结构体指针进行初始化时要用 结构体变量名指出地址数组指针在初始化时这样写int *p2a; ,是因为数组名代表数组首地址。
2. 结构体变量作为函数实参传递时 ··· void fun(stu student1) { … }
int main() { … stu student2; //定义结构体变量 fun(student2); return 0; } ··· 形参是结构体变量名故传给函数的实参是结构体变量名它不代表结构体变量占用内存空间的首地址。