c语言结构体怎么访问,C语言中结构体的访问方法解读

在C语言中,对结构体的访问一般有两种常规方式:"."访问和"->"访问。那么两者有什么区别呢?对C语言有一定了解的同学应该知道,我们新建一个结构体的时候,实际上就是新建了一种数据类型(比如int,char,double都是一种数据类型,只不过这些是C语言自带的数据类型),这是一种什么类型呢?其实,这种结构体的类型就是你命名的类型,譬如下面程序中,我定义的一种结构体:

c语言结构体怎么访问,C语言中结构体的访问方法解读_第1张图片

在这个结构体中,我们定义的就是一种名字为xing的新数据类型。首先让我们利用这个新定义出来的数据类型去定义一些变量(包括普通变量和指针变量)

b46701c19c859ab20151f6bf334aa864.png

是不是觉得这样定义怪怪的,其实你觉得怪只是因为你习惯了看int或者double这种常规的数据类型而已,你可以想象一下,如何把上图中的"xing"型结构体类型换成"int chen;int * ting;"就好看多了?习惯而已,的学会适应。

好了,那我们接下来应该去讨论怎么去访问这个数据类型了又或者说是怎么访问这个结构体。

方法一:采用"."去访问结构体里面的数据。如果我们在使用这个新的数据类型去定义普通变量时,那么我们去初始化这个结构体的元素和读取这个结构体的元素时就应该使用"."去访问。具体的形式如下:

da07112e8251e616b879cb7c7dec75de.png

923147f96fd7ed8a7850ade153f1e082.png

方法二:采用"->"去访问结构体里面的数据。我们目前知道,除了普通变量,我们还有指针变量。如果说我们使用这个新的数据类型去定义的是指针变量的话,那么我们去访问(初始化和读取数据)这个结构体的时候就应该采用"->"去访问。具体的形式如下:

de78202b9e339b5a7502fc336dac396e.png

6c97a08ff9ceef540c3fb159e64b9ac4.png

常规的访问结构体的方法就是这两种了。还有其他方法,我们后续再讨论,下面是我的完整测试程序:

c语言结构体怎么访问,C语言中结构体的访问方法解读_第2张图片

运行的结果:

401d714bd4088341287d7a038edaa790.png

你可能感兴趣的:(c语言结构体怎么访问)