C语言指向结构体的指针

Python012

C语言指向结构体的指针,第1张

C语言中的结构

在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

定义与声明

结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。

结构体成员的引用

有两种方式,英文的句点 . ,一个减号加一个大于号 ->。

当结构体是一个指针时要引用结构体的成员就用->而如果不是指针就用.。

如:

struct msg_st {

      int a

}

struct msg_st  msg;

struct msg_st *ms

msg.a = 10

ms->a = 20

struct stu

{

char name[20]

long number

float score[4]

}

再定义指向结构体类型变量的指针变量:

struct stu *p1, *p2

定义指针变量p 1、p 2,分别指向结构体类型变量。引用形式为:指针变量→成员;

结构体就像数组一样,其中的数据是有互相联系的,有些情况下定义一些简单的变量是不能反映出数据之间的内在联系,所以我们就把这些数据组合成一个项,而这个项中包含着很多不同的数据项,这就是结构体。

简单理解下,就是说把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体。

指针,其实就是一个存放地址的变量,指针可以指向变量,数组,结构体等数据所在的内存单元。

指针就是用来通过地址去找数据的,只要你把该数据的地址给指针,那么当你用到指向这个数据的指针时就等于在使用该数据。