Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程!! 本节将为大家讲解C语言中非常重要的知识点-指针:
本套课程将会从0基础讲解C语言核心技术,适合人群:
- 大学中开设了C语言课程的同学
- 想要专升本或者考研的同学
- 想要考计算机等级证书的同学
- 想要从事C/C++/嵌入式开发的同学
===============点个关注吧==============
======================================
10.8 结构体指针
10.8.1 结构体指针的定义
当一个指针变量指向结构体数据时,我们就称这个指针为结构体指针。C 语言中结构体指针的定义形式:
struct 结构体名 * 变量名;
比如:
struct Student{
char *name; // 学生的姓名
int num;// 学生的学号
int age;// 学生的年龄
} ;
// int a = 20;
// int * pa = &a;
// 定义结构体变量并赋值
struct Student stu1 = {"zsf",1001,100};
// 定义结构指针变量
struct Student * pstu = &stu1; // 定义了指针,指向了stu1这个变量所对应的地址空间
也可以在定义结构体的同时,定义结构体指针
// int a,b;
struct Student{
char *name; // 学生的姓名
int num;// 学生的学号
int age;// 学生的年龄
} stu1={"zsf",1001,100},* pstu=&stu1;
需要注意的问题:
结构体变量名和数组名不同,数组名在表达式中会被转换成数组的指针。而结构体变量不会,无论在何种表达式中,它都是整个结构体的本身。想要取得结构体变量的地址,前面必须加&。