首页 > 电脑

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

更新时间2018-11-21 09:06:59

#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.程序有没有逻辑问题,你自己调试下

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

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