小编Bis*_*uit的帖子

使用C中索引大于50的数组时进行核心转储

在编写带指针和数组的简单程序时,我遇到了一些麻烦.目标是使用指针将值128插入到数组的512个索引中.问题是,如果我使用超过50个索引,我将获得核心转储.我错过了什么或者是环境限制吗?是malloc()需要还是应该在其他地方定义数组?

#include <stdio.h>
#include <stdarg.h>
#define MAX 512

int main(void){
    int  i, *p, a[MAX];
    i = 0;
    p = &a[0];
    for (i=0 ; i <= MAX; i++){
        *(p+i) = 128;
    }
    printf("First value  %d last value of pointer  %d\n", *p, *(p+(MAX-1)) );

}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

0
推荐指数
1
解决办法
68
查看次数

标签 统计

arrays ×1

c ×1

pointers ×1