C언어_8

gimmicks_u·2022년 3월 31일
0

C언어

목록 보기
8/13
post-thumbnail

배열

배열의 복사

배열을 복사할 경우, 배열의 각 요소들을 일반 변수 복사하듯이 복사해야 한다.

#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"

null 문자

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 = 
profile
Done is better than perfect

0개의 댓글