Witajcie. Otóż mam w biblioteka.c
zadeklarowane indeksy za pomocą enum, ale jeden elemencik przydałby mi się też w biblioteka.h
. Mogłabym przenieść całe to enum do biblioteka.h
, ale wtedy wszystkie stałe będą widoczne też w main.c
(wszędzie gdzie includuje to biblioteka.h
) a tego bym nie chciała. Jest coś takiego w ogóle możliwe żeby wziąć tylko ten jeden element? Pokażę na przykładzie konkretnie chodzi mi o rozmiar tablicy w taki sposób:
//biblioteka.c
#include "biblioteka.h"
enum marks_index {
MATH=0,
CHEMISTRY=1,
BIOLOGY=2,
NOF_MARKS
};
void costam() {
printf("calej zawartosci nie bd wklejac\n");
}
//biblioteka.h
#ifndef BIBLIOTEKA_H_
#define BIBLIOTEKA_H_
typedef struct {
char *name;
int class;
char *marks[NOF_MARKS] //tutaj błąd nie widzi NOF_MARKS
} student_t;
#endif
//main.c
#include <stdio.h>
#include <stdlib.h>
#include "biblioteka.h"
int main(void) {
printf("%d\n",MATH); //nie chce żeby te stałe były tutaj widoczne w main i coś takiego było możliwe
printf("%d\n",NOF_MARKS); //no to może ewentualnie jedno być
return 0;
}
=0
,=1
itp, bo mija się to z celem.karolinaakarolinaa