2차원 배열 초기화
글쓴이: 익명 사용자 / 작성시간: 금, 2001/09/28 - 1:30오후
id를 입력받으려구 2차원 배열선언.
if문으로 NULL이면 id입력하구
if(id[i][0] == NULL);
NULL아니면 id가 이미 입력된거니까, 다음으로 넘어가게 코딩하려구,
초기화를 char id[10][10] = {{NULL,},} 이렇게 해거든요.
그런데 프로그램실행하면 자꾸 메모리 덤프되는데, 아마도 여기에 문제가 있
는 듯 싶어서요. 이렇게 초기화 시키면 안되나요?
그리고 배열 초기화 시킬 때 " char id[1000] " 에 모두 문자 'a' 넣으려면,
{'a','a','a','a',........} 100번 쳐야 하나요. 다른 방법이 있을 것도 같은
데... 가르쳐 주세요.
Forums:
Re: 2차원 배열 초기화
그 초기화는 id[0][0] 만 0으로 초기화 되고 나머지 값은 임의 값입니다.
게다가 id[0][0] 은 char 인데 NULL 은 0번지 포인터를 의미하기 때문에
엄밀히 말해 적절한 초기화는 아닙니다. 그냥 0, (char)0 또는 '\0'
하셔야 됩니다. 쓰레기 값이 버그의 원인인지 확인해 보시구요.
모두 문자 a 를 넣을 때는 for 문을 쓰거나, memset( id, 'a', 1000 )
하시면 됩니다. 문자열 종료가 필요하면,
memset( id, 'a', 999 ); id[999] = 0; 이 됩니다.
댓글 달기