在c语言中开辟一个数组空间,c语言如何在动态的结构体数组开辟新空间

该代码示例展示了如何在C语言中使用`malloc`动态分配内存来创建一个结构体数组,并读取用户输入的数据填充结构体成员。程序首先提示用户输入元素数量,然后动态分配相应大小的内存。接着,程序读取用户输入的系数和指数数据并存储到结构体数组中。最后,程序输出存储的数据,并使用`free`释放内存。这是一个关于C语言内存管理和结构体操作的基础教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include struct record

{

float coef;

int expn;

};

void main()

{

int num, i;

struct record *array;

array=NULL;

printf("please input the number of element: ");

scanf("%d", &num);

/*申请动态数组使用的内存块*/

array = (struct record *)malloc(sizeof(struct record )*num);

if (array == 0) /*内存申请失败,提示退出*/

{

printf("out of memory,press any key to quit...\n");

exit(0); /*终止程序运行,返回操作系统*/

}

/*提示输入num个数据*/

printf("please input %d elements: ", num);

for (i = 0; i < num; i++)

{

scanf("%f", &array[i].coef);

scanf("%d", &array[i].expn);

}

/*输出刚输入的num个数据*/

printf("%d elements are: \n", num);

for (i = 0; i < num; i++)

{

printf("%f,", array[i].coef);

printf("%d,", array[i].expn);

}

printf("\b \n"); /*删除最后一个数字后的分隔符逗号*/

free(array); /*释放由malloc函数申请的内存块*/

}

这个已经开辟了数组但是我想在往结构体arry中添加信息,还要怎么分配,求解答!谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值