typedef int ElemType;
typedef struct Node{
ElemType data;
struct Node* next;
}Node,*LinkList;
int main(int argc, const char * argv[]) {
LinkList l = NULL;
if( !Initlist_L( l ) ){
PrintList_L( l ); //遍历链表元素
}else {
printf( "分配内存失败." );
}
}
int Initlist_L( LinkList l ){ //创建链表并初始化
int a,b;
int c = 0;
Node* p,*q = NULL;
l = (LinkList)malloc(sizeof(Node));
l->next = NULL; //创建头结点
if( !l ){
return -1;
}
printf( "是否输入数据?Yes:1;No: 0" );
scanf( "%d",&a );
while( a ){
if( !(c++) ){
p = (Node*)malloc(sizeof(Node));
printf( "请输入数据:");
scanf( "%d",&b );
p->data = b;
p->next = l->next;
l->next = p;
q = p;
}else {
p = (Node*)malloc(sizeof(Node));
printf( "请输入数据:");
scanf( "%d",&b );
p->data = b;
q->next = p;
p->next = NULL;
q = p;
}
printf( "是否继续输入数据?Yes: 1; No: 0");
scanf( "%d",&a );
}
printf( "\n" );
return 0;
};
学生党,有没有耐心的看一下,为什么每次从 Initlist_L 函数出来之后 l 的内存都会被释放,导致遍历函数出错?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- qzjhjxj 2021-08-10 09:38关注
函数:int Initlist_L(LinkList &l) 形参加上地址引用即可 。
第58行:}; 多了 ‘ ; '号本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据
- ¥15 能帮我写下这个编程吗
- ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路