Я все еще изучаю C и делаю упражнение, в котором мне нужно запрограммировать базу данных автомобилей. В основной функции я объявил массив из 100 указателей на структуры carinfo_t. В функции '*createcarinfo' должен быть создан новый экземпляр carinfo_t. Но у меня проблема в том, что переменная «brandOfCar» не объявлена. Я не очень понимаю, почему я получаю это сообщение, потому что компилятор должен знать, что эта переменная является частью структуры, верно? Структура объявляется в программе как тип данных, и указатель на структуру инициализируется в начале этой функции.
Прошу прощения, если этот вопрос уже где-то задавался. Любая помощь очень ценится.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <limits.h>
struct carinfo_t
{
char *brandOfCar;
char *modelOfCar;
int yearCarWasBuilt;
float valueOfCar;
};
struct carinfo_t *createCarinfo(char *brand, char *model, int year, float
value)
{
struct carinfo_t *newCarInfo=(struct carinfo_t*) malloc(sizeof(struct
carinfo_t));
newCarInfo->brandOfCar=(char*)malloc(sizeof(char)*
(strlen(brandOfCar)+1));
//Message: error: 'brandOfCar' undeclared (first use in this function)
//function not finished
}
int main()
{
struct carinfo_t *carbase[100]={};
return 0;
}