开发平台(Platform): Mac
编译器: GCC
额外使用到的函数库(Library Used): uthash
问题(Question):
完整资讯请至 https://hackmd.io/@allencheng/rygXSYiTq
小弟在自学 C 语言,并尝试用 C 来解 leetcode 题目
在 refactor test code 的时候,编译没问题,但执行时发生
segmentation fault
source:
// origin
numsSize = 4;
int *nums1;
nums1 = (int *) malloc(numsSize * sizeof(int));
nums1[0] = 2;
nums1[1] = 7;
nums1[2] = 11;
nums1[3] = 15;
// refactor
numsSize = 4;
int *nums1;
nums1 = (int *) malloc(numsSize * sizeof(int));
int data[] = {2, 7, 11, 15}; // 这行出错
for (size_t i = 0;i < numsSize;i++)
nums1[i] = data[1];
检查后发现是宣告 int array 的时候执行错误
有尝试寻找问题的原因,但可能是观念不足或不知道关键字
找不到可以解释的地方
所以才来这询问是什么原因造成错误?