Я пытаюсь понять концепцию массивов структур и придумал проблему. Надеюсь, вы можете мне помочь.Как использовать переменную массива внутри массива структур?
Итак, проблема, с которой я столкнулась, - это как объявить и использовать (т. Е. Принимать значения &) переменной массива в массиве структур?
Этот пример кода может визуально помочь вам понять мою проблему:
#include<stdio.h>
struct node{
int roll;
char name[10];
int grades[5]; // Accepts 5 grades for each student
};
int main()
{
struct node student[3];
/*Accept and display values for structure members here*/
return 0;
}
Я знаю, что есть подобный пример here.
Но я не понимаю, линия 4 в main()
секции принято отвечать, где память выделяется с помощью malloc()
:
list[ip].inputs[inp]= (char*)malloc(25);
Я путаюсь между 25 байтов, выделенных здесь, и 10, определенный в char* inputs[10];
Что именно происходит здесь? И как вы решаете проблему, о которой я говорил выше?
Я думаю, вы его немного поняли. Я вообще не имею в виду массив символов ** **. И знаете ли вы решение моей проблемы? (Переменная массива внутри массива структуры. – ash9209
Я обновил ответ. Надеюсь, вы поймете сейчас. –
Идеальная визуализация @MihaiMaruseac. Brilliant – ash9209