gpt4 book ai didi

c - 尝试打印垃圾值和段错误时出现垃圾值

转载 作者:太空宇宙 更新时间:2023-11-04 02:23:32 25 4
gpt4 key购买 nike

<分区>

我编写了这个简单的代码来测试我拥有的更大的实现,但我得到了垃圾值和段错误。一种解决方案是将 int* a 和 int* b 声明为全局并取出 fill 的参数。我的问题是,两种情况下内存处理的考虑因素是什么,为什么会抛出错误?

#include <stdio.h>
#include<stdlib.h>
#define LENGTH 4

void fill(int* a, int* b){
a = (int*) malloc(LENGTH * sizeof(int));
b = (int*) malloc(LENGTH * sizeof(int));

for(int i=0; i< LENGTH;i++){
a[i]=i;
b[i]=i+10;
}
}

void printArray(int* a, int* b){
for(int i = 0 ; i < LENGTH; i++)
printf("%d\n",a[i] );

for(int i = 0 ; i < LENGTH; i++)
printf("%d\n",b[i] );
}

int main(){

int* a;
int* b;

fill(a,b);
printArray(a,b);

}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com