int main() { int arr1[5]={1,2,3,4,5}; int arr2[ ]={1,2,3,4,5,6,7}; //배열의 크기를 지정하지 않고 초기화를 하면 초기화된 크기로 지정된다. int arr3[5]={1,2}; int ar1Len; int ar2Len; int ar3Len; int iCnt;
printf("배열 arr1의 크기 : %d \n", sizeof(arr1)); //4byte씩이기 때문에 배열의 크기 5*4를 하면 20이 나온다. printf("배열 arr2의 크기 : %d \n", sizeof(arr2)); printf("배열 arr3의 크기 : %d \n", sizeof(arr3));
int main() { char str[]="Good morning!"; //배열의 총 크기 문자당 1byte로 총 13byte 배열의 크기는 12( 0~12) printf("배열 str의 크기 : %d \n",sizeof(str)); //배열의 크기가 12 인줄 알았는데 14로 출력되었다. //따옴표를 초기화하면 null이 초기화 된다. 그래서 총 길이는 14byte가 나온다. printf("널 문자 문자형 출력 : %c \n", str[13]); printf("널 문자 정수형 출력 : %d \n", str[13]);
str[12]='?'; //배열의[12]번째에 위치한 '!'를 '?'로 바꾼다. 배열의 일부를 변경하는 것이 가능하다. printf("문자열 출력: %s \n", str); return 0;
}
배열 str의 크기 : 14
널 문자 문자형 출력 :
널 문자 정수형 출력 : 0
문자열 출력 : Good morning?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
G
o
o
d
m
o
r
n
i
n
g
?
Null
*****
#include <stdio.h>
int main() { char str[]="Good morning!"; printf("배열 str의 크기 : %d \n",sizeof(str)); printf("널 문자 문자형 출력 : %c \n", str[13]); printf("널 문자 문자형 출력 : %d \n", str[13]);