У меня есть «структура», которую я хотел бы использовать в нескольких исходных файлах. Я объявил структуру в файле заголовка, а затем включил в исходные файлы. Было бы здорово, если бы кто-нибудь помог мне в этой проблеме. Я публикую заголовок, источник и ошибку
#ifndef DATABASE_H
#define DATABASE_H
struct dataBase
{
char modelName;
float capacity;
int mileage;
char color;
};
extern struct dataBase Inputs;
#endif /* DATABASE_H */
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include "dataBase.h"
struct dataBase Inputs = NULL;
//size_t Inputs_Size = 0;
int main (void)
#include "hw4_asharma_display.h"
#include <stdio.h>
#include "dataBase.h"
void printLow(int size)
{
// Declaring Variables
int i;
for(i=0; i<size; i++)
{
printf("%s %f %d %s\n",
Inputs[i].modelName,
Inputs[i].capacity,
Inputs[i].mileage,
Inputs[i].color);
}
hw4_asharma_display.c:14:23: error: subscripted value is not an array, pointer, or vector
Inputs[i].modelName,
~~~~~~^~
hw4_asharma_display.c:29:23: error: subscripted value is not an array, pointer, or vector
Inputs[i].modelName,
Inputs
не является массивом, вы не можете получить доступ к i-му элементу... - person Jean-Baptiste Yunès   schedule 23.02.2015struct database Input
, тоInput.mileage
получит доступ к соответствующему атрибуту. Если вам нужен массив, вы должны объявитьstruct database Inputs[NB]
и иметь возможность использоватьInputs[i].mileage
для любого i›=0 и i‹NB. - person Jean-Baptiste Yunès   schedule 23.02.2015Inputs
массивом.extern struct dataBase Inputs[];
- person Jason Hu   schedule 24.02.2015