warning: missing braces around initializer
warning: array subscript has type `char'
[kang@dbakorea ~/test]$ cat a.c
#include <string.h>
#include <strings.h>
#include <stdio.h>
#include <unistd.h>
typedef struct
{
char name [30];
char value [100];
} _AA;
_AA aa[] = {
{"kang" , NULL},
{"myung", NULL},
{"gyu" , NULL},
{NULL, NULL}
};
int main(void)
{
char i;
for( i=0; *aa[i].name != NULL; i++)
{
strcpy( aa[i].value , "kang");
printf("%s\n", aa[i].value);
}
return 1;
}
[kang@dbakorea ~/test]$ gcc -Wall -o a a.c
a.c:13: warning: missing braces around initializer
a.c:13: warning: (near initialization for `aa[0].value')
a.c: In function `main':
a.c:24: warning: array subscript has type `char'
a.c:26: warning: array subscript has type `char'
a.c:27: warning: array subscript has type `char'
[kang@dbakorea ~/test]$ ./a
kang
kang
kang
[kang@dbakorea ~/test]$
char name[30]에 NULL을 배정해서 생긴 에러 아닌가요?
char *name; 처럼 포인터로 바꾸거나, 값이 없는 경우에 대한 처리를
바꾸는 것이 옳을 듯 싶습니다.
--
박종대
-- ' C-language Edition
#define cdpark /* TC Lab, Div. of CS, Dept. of EECS, KAIST */
#include <signature.h> /* the Hitchhiker's Guide to the Internet?? */
문법상 하자가 없는 것 같은데요..
다만 배열 첨자 사용하실때 정수형으로 사용하는게 좋을 것 같은데...
정확한 원인을 아시면 다시 한번 올려주세요..
#include <string.h>
#include <stdio.h>
#include <unistd.h>
typedef struct
{
unsigned char *name;
unsigned char value[100];
} _AA;
_AA aa[] = {
{"kang" , ""},
{"myung", ""},
{"gyu" , ""},
{NULL, ""}
};
int main(void)
{
int i;
for( i=0; aa[i].name != NULL; i++)
{
strcpy( aa[i].value , "kang");
printf("%s\n", aa[i].value);
}
return 0;
}
"강명규" <ka...@dbakorea.pe.kr> wrote in message
news:bauofh$1lh$1...@news1.kornet.net...