位置:51电子网 » 技术资料 » 汽车电子

结构指针是指向结构的指针

发布时间:2014/6/7 20:24:23 访问次数:854

   结构指针是指向结构的指针。它由一 INA105KP个加在结构变量名前的“木”操作符来定义,例如用前面已说明的结构定义一个结构指针如下:

   也可以省略结构指针名只作结构说明,然后再用下面的语句定义结构指针:

   struct string*student;

   使用结构指针对结构成员的访问,与结构变量对结构成员的访问在表达式上有所不同。结构指针对结构成员的访问形式如下:

   结构指针名一>结构成员

   例如要给上面定义的结构中name和age赋值,可以用下面语句:

   实际上,student->name就是(*student).name的缩写形式。

   需要指出的是结构指针是指向结构的一个指针,即结构中第一个成员的首地址,因此在使用之前应该对结构指针初始化,即分配整个结构长度的字节空间,这可用下面的函数完成,仍以上例来说明,例如:

    student=(struct string*)malloc(size of (struct string》;

   size of (struct string)臼动求取string结构的字节长度,malloc()函数定义了一个大小为结构长度的内存区域,然后将其首地址作为结构指针返回。注意以下两点:

   (1)结构作为一种数据类型,定义的结构变量或结构指针变量同样有局部变量和全局变量之分,视定义的位置而定。

   (2)结构变量名不是指向该结构的地址,这与数组名含义不同,因此结构中第一个成员的首地址是&【结构变量名]。

   结构指针是指向结构的指针。它由一 INA105KP个加在结构变量名前的“木”操作符来定义,例如用前面已说明的结构定义一个结构指针如下:

   也可以省略结构指针名只作结构说明,然后再用下面的语句定义结构指针:

   struct string*student;

   使用结构指针对结构成员的访问,与结构变量对结构成员的访问在表达式上有所不同。结构指针对结构成员的访问形式如下:

   结构指针名一>结构成员

   例如要给上面定义的结构中name和age赋值,可以用下面语句:

   实际上,student->name就是(*student).name的缩写形式。

   需要指出的是结构指针是指向结构的一个指针,即结构中第一个成员的首地址,因此在使用之前应该对结构指针初始化,即分配整个结构长度的字节空间,这可用下面的函数完成,仍以上例来说明,例如:

    student=(struct string*)malloc(size of (struct string》;

   size of (struct string)臼动求取string结构的字节长度,malloc()函数定义了一个大小为结构长度的内存区域,然后将其首地址作为结构指针返回。注意以下两点:

   (1)结构作为一种数据类型,定义的结构变量或结构指针变量同样有局部变量和全局变量之分,视定义的位置而定。

   (2)结构变量名不是指向该结构的地址,这与数组名含义不同,因此结构中第一个成员的首地址是&【结构变量名]。

热门点击

 

推荐技术资料

频谱仪的解调功能
    现代频谱仪在跟踪源模式下也可以使用Maker和△Mak... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!