c - 尝试在 C 中分配结构数组的段错误

标签 c arrays segmentation-fault

我离开 C 有一段时间了,所以这里有一些成长的烦恼。

基本上我正在尝试创建一个包含所有可能的 RGB 值的数组。

#include <stdio.h>

#define MAX 3

struct rgb_val {
    int r;
    int g;
    int b;
};

int main(void) {

  struct rgb_val rgb[MAX];

  int index = 0;
  for (int r = 0; r < MAX; r++) {
    for (int g = 0; g < MAX; g++) {
      for (int b = 0; b < MAX; b++) {
        rgb[index].r = r;
        rgb[index].g = g;
        rgb[index].b = b;
        index++;
      }
    }
  }

  return 0;
}

最佳答案

越界访问数组。这是未定义的行为。

关于c - 尝试在 C 中分配结构数组的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47097096/

相关文章:

c - 线程在 WIC 中(有时)返回错误

c - 有序链表插入

javascript:如何按年龄对员工对象数组进行排序

python - python中三对角矩阵的解是什么?

C - 更改结构体元素的顺序会导致段错误

c - 查找段错误而不导致崩溃

c - 如何使用 RAND() 和 WHILE 填充数组?

ruby - 使用数组作为 ruby​​ 哈希键的用例

c - C 程序中第一个 scanf 行出现段错误

c - 我的链表实现有什么问题?