<分区>
作为一个C初学者,对神奇的“指针”这个概念还是一头雾水
例如在数组"range1"中存储1到10的简单代码
int *range1;
int max = 10;
int count = 0;
range1 = malloc(sizeof(int) * (11));
while (count < max)
{
range1[count] = count;
count++;
}
range1[count] = '\0';
这很好用,但是
int *range1;
int max = 10;
int count = 0;
range1 = malloc(sizeof(int) * (11));
while (count < max)
{
*range1 = count;
count++;
range1++;
}
range1[count] = '\0';
这个不是。我明白了
[1] 24934 segmentation fault
我很困惑,因为我认为 *(range1 + count) = range1[count]。
如何更改第二个示例,使其运行时不会产生分段违规。