fight f d 2021-05-10 21:37 采纳率: 66.7%
浏览 33
已采纳

为什么告诉我未初始化的内存L呢

#include<stdio.h>
#include <iostream>
#define MaxSize 10

typedef struct {
	int data[MaxSize];
	int length;
}SqList;

void InitList(SqList L) {
	for (int i = 0; i < MaxSize; i++)
		L.data[i] = 0;
	L.length = 0;
}

int main()
{
	SqList L;
	InitList(L);
	for (int i = 0; i < MaxSize; i++) {
		printf("data[%d]=%d\n",i, L.data[i]);
	}
}
  • 写回答

2条回答 默认 最新

  • benbenli 2021-05-10 22:08
    关注

    函数InitList的参数L传值了,应该传引用。如下

    #include<stdio.h>
    #include <iostream>
    #define MaxSize 10
    typedef struct {
    	int data[MaxSize];
    	int length;
    }SqList;
    void InitList(SqList &L) {
    	for (int i = 0; i < MaxSize; i++)
    		L.data[i] = 0;
    	L.length = 0;
    }
    int main()
    {
    	SqList L;
    	InitList(L);
    	for (int i = 0; i < MaxSize; i++) {
    		printf("data[%d]=%d\n",i, L.data[i]);
    	}
    }
    
    // Output
    data[0]=0                                                                                                                                                                            
    data[1]=0                                                                                                                                                                            
    data[2]=0                                                                                                                                                                            
    data[3]=0                                                                                                                                                                            
    data[4]=0                                                                                                                                                                            
    data[5]=0                                                                                                                                                                            
    data[6]=0                                                                                                                                                                            
    data[7]=0                                                                                                                                                                            
    data[8]=0                                                                                                                                                                            
    data[9]=0  

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据