배열을 복사할 경우, 배열의 각 요소들을 일반 변수 복사하듯이 복사해야 한다.
#include <stdio.h>
int main()
{
int arr1[5] = {1, 2, 3, 4, 5};
int arr2[5], i = 0;
for (i = 0; i < 5; i++)
{
arr2[i] = arr1[i];
printf("%d\n", arr2[i]);
}
}
1
2
3
4
5
#include <stdio.h>
int main(void)
{
char str[12] = "Hello World";
printf("%s \n", str);
return 0;
}
Hello World
문자열을 출력할 때는 서식문자 %s
를 사용한다.
문자열의 길이가 얼마가 될 지 모르는 경우, 배열의 길이를 생략할 수 있다.
char str[] = "Hello World"
char str[100] = "Beautiful";
str
문자열은 총 100byte(1char = 1byte) 메모리 공간을 확보하고 Beautiful
을 할당한 뒤 나머지 메모리 공간에는 가비지값이 할당되게 된다.
사람은 의미 있는 문자열 Beautiful
과 가비지값을 구분할 수 있지만, 컴퓨터는 아니다. 그래서 C언어에서는 null
문자 하나를 추가함으로써 문자열의 마지막을 표시 및 구분한다.
null
문자는 상수 0이 아닌 아스키 코드 값이 0이다. 보통 null
값을 표시할 때 \0
으로 표기한다
#include <stdio.h>
int main(void)
{
char str1[] = "Hello\0World";
printf("str1 = %s\n", str1);
str1[3] = '\0';
printf("str1 = %s\n", str1);
str1[0] = '\0';
printf("str1 = %s\n", str1);
return 0;
}
str1 = Hello
str1 = Hel
str1 =