2016 - 2025

感恩一路有你

结构体初始化赋值为0 C语言结构体指针中的const成员怎么初始化?

浏览量:2188 时间:2021-03-12 21:27:55 作者:admin

C语言结构体指针中的const成员怎么初始化?

有一些方法,但我不同意这种方法。但是,如果它仅用作初始化,则可以先定义初始化函数,并确保不会在其他位置调用它。代码如下:

#include

#include

typedef struct

{

int*const P

}C

int main()

{

int i=0

C*C=(C*)malloc(sizeof(C))

printf(“old:0x  xn”,C->P)

(int*)(C->P)=&i//最关键的一步。

Printf(“new:0x  xn”,C->P)

free(C)

return 0

}

构造对象时初始化对象是一种误解。唯一的方法是编写一个特殊函数来初始化结构的内存。您甚至可以使用memset()函数。因此,您的需求已经退化为如何初始化结构。这是很多C程序员回去写C程序时,会反复思考问题。

C 结构体如何初始化?

结构也可以有构造函数,可以用默认构造函数在新数组中初始化。

如果成员需要有初始值,则应编写构造函数。否则,memset可以初始化为0。

引用如下:

struct_uuTaga

{

int a1

tagA()

{a1=1}

}a[100

]memset(&a,0,sizeof(a))

结构体初始化赋值为0 结构体中包含另一个结构体 结构体构造函数初始化

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。