在c中创建结构体数组

标签 c arrays visual-studio structure

我正在尝试根据我得到的输入创建一个结构数组 就像用户输入 5 所以我需要构建 5 个结构并初始化它们 这是我在头文件中的结构

typedef struct abc
 {
pnt* head;
int number;
int number2;
float sum;
}abc;

在我的主文件中 我把

abc *t;


printf_s("How many strucures?:\n");
scanf_s("%d", &stru);
for (i = 0; i < stru; i++)
{
    t[i].head = NULL;
    t[i].number = 0;
    t[i].number2 = i;
    t[i].sum = 0;
}

我明白了 “使用了未初始化的局部变量‘t’”

最佳答案

abc *t;

这里t是一个指针,它没有初始化。初始化它:

scanf("%d", &stru);
t = malloc(stru * sizeof *t)

关于在c中创建结构体数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34534344/

相关文章:

c++ - 无符号字符数组的十进制 ascii 值

c - 如果参数数量未知,如何遍历 va_list?

c - 如何将一个字符保存到多个变量中? C

javascript - 如何使用 jquery $.each() 方法迭代对象文字数组?

c - 对具有 n 个间隔的 a 和 b 之间的函数进行积分

C套接字,recv丢失数据

arrays - 用于 Rust 结构的实现

visual-studio - Visual Studio : Dataset and DataTable Visualizer not working in watch window

visual-studio - 克隆Visual Studio 2012发布配置文件

c# - 如何添加 Docker 选项以从 VS2022 运行 .NET Core 项目