#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 |
댓글