0 c arrays malloc pointers segmentation-fault
据我所知,我已经遵循了其他用户提供的建议,但是当我尝试返回指向数组的指针时,我仍然会遇到段错误.main中的printf什么也没有返回,所以我猜测指针不是堆上的任何东西?
#include <stdio.h>
#include <stdlib.h>
int * stringy(int length){
int *ptr = malloc(sizeof(int)*length);
int i;
for(i = 0; 1 < length; i++){
ptr[i] = i;
}
return(ptr);
}
void main(int argc, char **argv){
int strlen = 12;
int *newptr = stringy(strlen);
printf("%d\n",newptr[0]);
free(newptr);
}
Run Code Online (Sandbox Code Playgroud)
好像你的代码中有一个拼写错误.代替
for(i = 0; 1 < length; i++){
Run Code Online (Sandbox Code Playgroud)
,看起来你的意思
for(i = 0; i < length; i++){
Run Code Online (Sandbox Code Playgroud)