Ниже ошибка, что он дает мне и мой код:Вложенные структуры массива в C
workspace.c: В функции «главный»:
workspace.c: 38: ошибка: индексируются значение является ни массив, ни указатель
workspace.c: 39: ошибка: индексируются значение не является ни массивом, ни указатель
любой вход будет весьма признателен! и спасибо вам за то время.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <sys/types.h>
#include <string.h>
#include <dirent.h>
#include <sys/time.h>
#include <fcntl.h>
#define n 4
struct process
{
struct segment{
struct page
{
int pid;
int p[4];
}pages;
}segments;
};
struct process processes[3];
struct page pages[n];
struct segment segments[n];
int main()
{
int a, b, c;
int k = 0;
for(a = 0; a < 3; a++)
{
for(b = 0; b < 4; b++)
{
for(c = 0; c < 4; c++)
{
k++;
processes[a].segments[b].pages[c].pid = k;
printf("Segment: %d, Page: %d, PID: %d\n",a,b,processes[a].segments[b].pages[c].pid);
}
}
}
return 0;
}
'# define'ing что-то, как короткий, как ** п ** немного опасно, так как это может привести к замещениям, которые вы не предполагали. Традиция 'C' состоит в том, чтобы использовать весь верхний регистр и что-то описательное, например' #define MAX_PAGES 4' –