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

为什么告诉我未初始化的内存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 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿