这个动态分配的数组为什么不对么哦 - 爱问答

(爱问答)

这个动态分配的数组为什么不对么哦

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
void init_list (struct List *list,int a);
void creat_list(struct List *list,int b);
void show_list(struct List * list) ;
struct List{int *p;int len;int cnt;};
int main()
{struct List list;int a;
puts("请输入线性表的长度:");
scanf("%d",&a);
init_list(&list,a);
int b;
puts("请输入要插入的个数") ;
scanf("%d",&b);
creat_list(&list, b);
show_list(&list) ;
return 0;}
void init_list (struct List *list,int a)
{ list->p = (int *)malloc(sizeof(int)*a);if (list->p==NULL){printf("动态内存分配失败! ");exit(-1); //终止整个程序}else
{list->len=a;list->cnt=0;}
return ;}
void creat_list(struct List *list,int b){
int i;puts("请输入你要插入的元素"); for(i=0;i<b;i++){scanf("%d",&list->p[i]);}
list->cnt=b;}
void show_list(struct List * list)
{for (int i=0; i<list->cnt; ++i)printf("%d ", list->p[i]); printf(" ");}

1.你程序的结构都问题(你是c++还是c语言?)

C/C++语言类型或变量必须先定义或声明才能使用

你的

struct List{int *p;int len;int cnt;};

应该定义在所有函数前面的,这个是基础常识

2你的,void init_list (struct List *list,int a)函数,最后少}了

作为初学者,程序风格很重要,你的程序全连在一起,若是上千行的,出了错都不知怎么找,

类似以下风格,{}一一对应,容易阅读

这个动态分配的数组为什么不对么哦

3.程序有没有逻辑问题,你自己调试下

下一篇:c#程序设计实践中如何通过读取文件动态创建菜单项

上一篇:vs2010打不开源文件internal.hpp(环境变量都对,求哪位大神来解决一下)

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?