F. *_*ark 0 c dynamic-allocation
我正在编写一个接受数组大小作为参数的程序,然后应该为该大小动态分配内存.
我希望我的程序返回已分配的内存大小.目前我正在使用argv读取输入值,然后mmap用于动态分配.我还使用for循环来显示在数组的每个索引中保存的数字.
我知道分配可以完成malloc,但我无法使用它.我想我需要从最后一个元素开始并检查所有单元格,直到我得到一个SEGFAULT信号.
谢谢你的帮助.
编辑:没有库等的短代码...
input = (atoi(argv[1]));
int* arr = mmap(0, input, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, fd, 0);
for (i = 0; i < input; i++) {
arr[i] = i + 1;
}
Run Code Online (Sandbox Code Playgroud)