这是我的程序。 (对不起,常量和结构和变量的名字在我的语言)更改内存地址而不是结构中的值C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
/*CONSTANTES*/
#define MAX_CHAR 8
#define MAX_NOM_IMPR (20+1)
#define NUM_ELEM 10
#define MAX_IMPR 4
#define MAX_FICHEROS 6
#define ERROR_ARGC 0
#define ERROR_LONG 1
#define ERROR_COLALLENA 2
#define ERROR_NO_OPCION 3
#define ERROR_MAX_IMPR 4
#define ERROR_NOM_REP 5
#define ERROR_NO_IMP 6
#define ERROR_NO_IMP_REP 7
#define ERROR_LONG_IMPR 8
/*TIPOS DE DATOS*/
typedef char Telemento[MAX_CHAR+5];
typedef struct{
Telemento arraycola[NUM_ELEM];
int inicio;
int final;
}TCola;
typedef char TNombreImpresora[MAX_NOM_IMPR];
typedef struct{
TNombreImpresora nombreimpresora;
int numerodeficherosencola;
TCola colaImpresora;
}TImpresora;
typedef struct{
TImpresora impresora;
int ocupado;
}TCelda;
typedef TCelda Tlistaimpresora[MAX_IMPR];
int main(){
Tlistaimpresora listaimpresora;
listaimpresora[1].ocupado=1;
printf("%s", listaimpresora[1].ocupado);
}
当我运行它,它崩溃,我想通了,:除了更改的ocupado
的价值,我改变了内存地址和我不知道为什么。我究竟做错了什么?
你使用哪种数据类型? – 2014-12-13 13:45:50
你没有显示足够的代码。添加Tlista的定义无论如何 – MightyPork 2014-12-13 13:47:27
'printf(“%s”,listaimpresora [1] .ocupado);'你发送一个'int'到'printf'格式,需要一个以空字符结尾的字符串。 – WhozCraig 2014-12-13 13:52:59