不定长结构体定义(定义不定长字符串)

互联网- 2023-08-20 20:01:15

咋么用结构体定义n个学生

今天给各位分享不定长结构体定义的知识,其中也会对结构体不建议typedef进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

  1. typedef struct可以用什么代替
  2. 不定长结构体定义
  3. 关于指向结构体变量的指针如何理解

typedef struct可以用什么代替

作用就是凡是以后需要定义一个structa类型的变量,可以用b来定义,例:structaexample;也可以这样定义bexample;两者是等价的

不定长结构体定义

typedefstructItem

{

DATAdata;//你想要存储的一些属性等

intiSize;//后续数据的大小

characData[1];//从这里开始记录你的数据

}Item;

每次为一个新的Item申请空间时,申请大小为:

sizeof(Item)+iDataSize

这里的iDataSize就是你想存储的活用空间大小。

调用的时候,直接写结构体的acData[n]就可以了,可能会浪费几个字节的空间,但这些应该可以忽略。

原理是将acData[0]当作数据开始的部分,而acData[n]虽然越界了,但在你申请的空间范围内,所以不会有问题。

另外一种方法是在结构体里声明一个指针,用指针来记录数据的位置。

关于指向结构体变量的指针如何理解

结构体可以理解成对数据做了一个封装,成为一个新的数据类型,指向结构体的指针,和平常的指针是一样的。指针保存的是这个结构体的起始地址!typedefstructMY{inta;intb;}MY;MY*prMy=NULL;MYtest;prMy=&test;prMy就是指向结构体变量test的内存地址,实际上也就是inta;变量的地址,

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

结构体 结构体的声明 定义和初始化 成员的访问 结构体传参
  • 声明:本文内容来自互联网不代表本站观点,转载请注明出处:bk.0755org.com/12/105302.html
上一篇:不做手术骨折能愈合吗
下一篇:下属如何向上级提建议和意见,或者指出错误
相关文章
返回顶部小火箭