본문 바로가기
01.Bit 단기/C

15_배열

by chojju 2018. 4. 28.
반응형

#include <stdio.h>
void exam1();
void exam2();
void exam3();

void main()
{
 exam3();
}

void exam3()
{
 //1. 배열 선언 : char type 10개를 저장하는 배열
 char arr[10];

 //2. 생성된 배열의 크기는 10byte이다.
 printf("%dbyte\n", sizeof(arr));  //10

           //3. 배열 사용
           //   4 인덱스 위치에 'c'를 저장
 arr[4] = 'c';
 printf("%c\n", arr[4]);

 char ch = arr[4]; // char ch = 'c';
 char ch1 = *(arr + 1); //?

       //반복문과 배열의 관계
       //배열에 문자 'A' ~ 'J'까지 저장
 for (int i = 0; i < 10; i++)
 {
  arr[i] = 'A' + i;
 }
 for (int i = 0, j = 'A'; i < 10; i++, j++)
 {
  arr[i] = j;
 }

 for (int i = 0; i < 10; i++)
 {
  printf("arr[%d] = %c\n", i, arr[i]);
 }
}

void exam1()
{
 int a = 10;
 printf("%d\n", a);  // 10
 printf("%d\n", &a);  // 120번지(주소)
}

void exam2()
{
 //배열의 선언 및 초기화 문법
 // int arr[];  //error
 int arr1[5];    // X,X,X,X,X 
 int arr2[5] = { 1, 2, 3 }; // 1,2,3,0,0
 int arr3[] = { 1, 2, 3, 4, 5 }; //1,2,3,4,5

 printf("%d\n", arr3);  // (주) 7896
 printf("%d\n", arr3[0]); // (값) 1
 printf("%d\n", &arr3[0]); // (주) 7896

 printf("%d\n", arr3[2]); // (값) 3
 printf("%d\n", &arr3[2]); // (주) 7904

 printf("%d\n", arr3[0] + 1); // 값 + 1  = 2
 printf("%d\n", arr3 + 1);  // 주소 +1 = 7900

         //arr3[1]
         //arr3을 +1 만큼 이동한 역참조
         // 7896 +1 => 7900     *7900
 printf("%d\n", arr3[1]);  // 2
 printf("%d\n", *(arr3 + 1)); // 2
}

반응형

'01.Bit 단기 > C' 카테고리의 다른 글

17_포인터  (0) 2018.04.28
16_포인터배열  (0) 2018.04.28
14_함수의인자전달  (0) 2018.04.28
13_함수실습  (0) 2018.04.28
12_함수의 인자전달 및 실습코드  (0) 2018.04.28

댓글