C指针详解四

文章目录

    • 1、结构体
    • 2、结构体指针

1、结构体

所谓结构体就是一种构造类型,它是由其他若干部分组成的,其他部分也可以是一个基本数据类型,也可以是一个构造类型。
对于结构体的构造称之为声明一个结构体。
声明结构体的时候两种方法
方法一:

struct  structname
{
	成员列表
};
struct structnanme struct1;

方法二:

struct  structname
{
	成员列表
} struct1,struct2;

结构体数组定义方法:

struct  structname
{
	成员列表
}array[]={初始值列表};

2、结构体指针

如果一个指针指向结构体变量,那么改指针指向的就是结构体变量的起始地址。
定义结构体指针的一般形式为:

结构体类型 *指针名;

例如:

struct  people
{
	char name[20];
	char sex;
	int age;
	int idnumber;
};
struct people *p;

当使用指向结构体变量的指针访问成员时,
第一种方法就是运用点运算符

(*p).成员名;

注意:1、*p一定要使用括号,因为点运算的优先级是最高的,如果不使用括号,就会先执行点运算然后再执行 * 运算。
2、声明结构体可以放在main函数内部,也可以放在main函数外部。

上面的例子中:

(*p).成员名
people.成员名
p->成员名

这三种形式的表达效果是一样的。
在使用“->”引用成员时,要注意分析以下几种情况:
(1)p->age,表示指向的结构体变量中成员age的值。
(2)p->age++,表示指向的结构体变量成员age的值,使用后该值加一
(3)++p->age,表示指向的结构体的变量成员age的值加一,计算之后再进行使用

你可能感兴趣的:(c)