首页 > 编程知识 正文

结构体中的指针变量初始化,二维指针申请内存

时间:2023-05-05 17:34:12 阅读:114500 作者:3487

结构和二次指针的初始化赋值情况

记录今天面临的二级指针初始化失败的问题。 申请和赋值辅助指针时,请注意正在访问哪个具体地址。 直接访问arr的是辅助指针,访问arr[i]的其实也是辅助指针。 (我的理解,访问) ) http://www.Sina.com/3358ww.Sina

不推荐使用此初始化方法。 编码建议之一是,资源的初始化和释放尽可能处于同一级别。

代码如下。

typedef struct {char name[10]; uint32_t size; } Example; intmallocandinitexample (example * * arr,uint32_t *size ) ) arr=(example* ) malloc (sizeof ) example ) ) 10 ); if(arr==null ) printf ) mallocerror! ' ); 返回- 1; (}*size=10; for(intI=0; i 10; I ) ) memcpy((*arr ) ) I ).name,' test ',strlrn ) ) test ) ); (arr ) [i].size=i; }返回0; }int TEST () {Example *arr=NULL; int 32 _ tsize if (mallocandinitexample (arr,size )!=0(返回- 1; (if ) arr==null ) {return -1; //此时,arr结构指针初始化为size个Exampleotherreturn 1; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。