gpt4 book ai didi

c - 嵌套结构和 Typedef

转载 作者:行者123 更新时间:2023-11-30 17:39:16 27 4
gpt4 key购买 nike

我试图通过 C 中的结构和 typedef 打印 no_routes。但下面的代码是段错误

typedef struct RDI
{
int no_routes;

}RD;


struct Os_class
{

RD os_rdi[10];

}*OS_CL;


void Initiate_CL()
{
OS_CL->os_rdi[0].no_routes = 10;

}


main()
{

Initiate_CL();

//printf( " CL %d",OS_CL->os_rdi[0].no_routes);
}

还可以使用 typedef 为用户定义的数据类型命名。例如,您可以将 typedef 与结构一起使用来定义新的数据类型,然后使用该数据类型直接定义结构变量,如下所示:

最佳答案

您正在使用OS_CL(这是指针),但从未为其分配内存。

void Initiate_CL()
{
OS_CL = malloc(sizeof(Os_class)); <-- allocation.

OS_CL->os_rdi[0].no_routes = 10;
}

请确保在使用后使用 free 取消分配内存,以避免内存泄漏。

关于c - 嵌套结构和 Typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21850152/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com