1.1) 실습
변수를 특정 값으로 초기화하기 (or 배열을 특정 값으로 한번에 초기화하기)
kkikkodev
2015. 5. 17. 22:35
이번에는, 변수 혹은 배열을 특정 값으로 가지고 일괄적으로 한번에 초기화하는 방법을 알려드리겠습니다.
#include <stdio.h> #include <memory.h> // or #include <string.h> #define ARR_SIZE 10 int main(int argc, char* argv[]){ char c; short s; int i; long l; float f; double d; int arr[ARR_SIZE]; int j; memset(&c, 0, sizeof(char)); memset(&s, 0, sizeof(short)); memset(&i, 0, sizeof(int)); memset(&l, 0, sizeof(long)); memset(&f, 0, sizeof(float)); memset(&d, 0, sizeof(double)); memset(arr, 0, sizeof(int) * ARR_SIZE); // or memset(arr, 0, sizeof(arr)); printf("c : %d\ns : %d\ni : %d\nl : %ld\nf : %f\nd : %f\n", c, s, i, l, f, d); printf("arr : "); for (j = 0; j < ARR_SIZE; j++){ printf("%d ", arr[j]); } printf("\n"); return 0; }
2 라인
memset 함수를 사용하기 위해서는, memory.h 혹은 string.h 를 include 하면 됩니다.
4 라인
배열 요소의 개수를 상수화합니다.
7 ~ 12 라인
char, short, int, long, float, double 형 변수를 각각 선언합니다.
13 라인
int 형 배열을 ARR_SIZE ( = 10) 로 선언합니다.
15 ~ 20 라인
memset 함수를 이용하여, 해당 변수들을 특정 값인 0 으로 초기화 하고 있습니다.
21 라인
memset 함수를 이용하여, 배열을 0 으로 모두 초기화 하고 있습니다.
22 ~ 27 라인
초기화한 변수들과 배열의 값을 모두 출력하고 있습니다. 0 이 출력되는 것을 볼 수 있습니다.
[실행 결과]
(memset 함수 설명 참고)
https://msdn.microsoft.com/en-us/library/aa246471(v=vs.60).aspx