我正在使用malloc,我的程序正在崩溃

Ica*_*rus 0 c malloc

今天我在搞乱malloc和整数指针.程序设置为它为一个整数指针分配一个内存位置,然后用一堆整数填充内存位置,然后打印所有整数.问题是什么时候它完成运行它崩溃.我怀疑malloc导致了这个问题.

这是代码

#include<stdio.h>
#include<stdlib.h>
int main(){

    int *name,x;
    char y;
    name=malloc(sizeof(int));
    for(x=0;x<500;x++){
        name[x]=x;
    }
    for(x=0;x<500;x++){
        printf("%d ",name[x]);
    }

    scanf("%c",&y);
    free(name);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢!

小智 8

name = malloc(sizeof(int));
Run Code Online (Sandbox Code Playgroud)

是问题.这样,您只能在数组中存储一个int.尝试

name = malloc(sizeof(int) * 500);
Run Code Online (Sandbox Code Playgroud)

代替.