글
4. 배열에 대한 궁금증.
●프로젝트와 세미나/C-language
2013. 11. 29. 05:15
참고자료 (http://cafe.naver.com/cafec/288156)
-int형 배열연습
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> int main() { int i[3]; // 선언과 동시에 초기화 하려면 int i[3] = {1,2,3}; 도 가능하다. i[0]=1; i[1]=2; i[2]=3; printf("%d\n",i[0]); printf("%d\n",i[1]); printf("%d\n",i[2]); for(;;); } |
각각의 배열 자리값 i[0], i[1], i[2]에 초기화를 안해주면 쓰레기값..
3개중 하나라도 0이든 뭐든 초기화 해주면 나머지는 선언 안해도 알아서 0으로 초기화됨.
-변수형 배열
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <stdio.h> int main() { int i[3]; int j=1; i[0]=1; i[j]=2; i[j+1]=3; printf("%d\n",i[0]); printf("%d\n",i[j]); printf("%d\n",i[2]); for(;;); } #include <stdio.h> int main() { int score[5]; int i; for(i=0;i<5;i=i+1) { printf("%d번 학생 점수 입력 : ",i+1); scanf("%d", &score[i]); } for(i=0;i<5;i=i+1){ printf("%d번 학생 %d점\n",i+1,score[i]); } for(;;); } |
이건 좀 어려웠다.
=========================================================================================================
그런데 배열 코드를 연습하다 보니 문제가 생겼다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main() { int aaa[3][5]={{1,1,1,1,1},{2,2,2,2,2},{3,3,3,3,3}}; // aaa[0][0]={1} int i=0; int j=0; for(i;i<4;i=i+1) { for(j;j<5;j=j+1) { printf("%d", aaa[i][j]); } printf("\n"); } for(;;); } |
위의 코드를 보면 처음부터 변수를 0으로 초기화 시켜 두었다. 이런 경우 내가 원하는
11111
22222
33333
이런 결과물이 나오지 않는다;; 왜이럴까
반대로
아래 코드와 같이 for문 안에서 =0 으로 초기화 시키면 결과가 잘 나온다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> int main() { int aaa[3][5]={{1,1,1,1,1},{2,2,2,2,2},{3,3,3,3,3}}; // aaa[0][0]={1} int i; int j; for(i=0;i<3;i=i+1) { for(j=0;j<5;j=j+1) { printf("%d", aaa[i][j]); } printf("\n"); } for(;;); } |
왜 이런 문제가 생기는 것인가..?
'●프로젝트와 세미나 > C-language' 카테고리의 다른 글
3. 함수나누기 void형 함수 (2) | 2013.11.19 |
---|---|
2. for문과 조건문 (0) | 2013.11.17 |
1. for문과 scanf를 이용한 문제. (0) | 2013.11.15 |
1. vi 편집문제 -> vim 설치, vim 기본설정. (0) | 2013.09.25 |