가변 인자 가변인자 특성 - 함수 인자의 수가 정해져있지 않은 함수 - C는 객체지향과 달리 함수명으로만 함수를 구분 - 인자리스트만 다를 경우, 가변인자 함수를 작성하면 하나의 함수로 가능 - 가변인자를 위한 매크로有 - 고정할당 뒤에 차례대로 저장됨 형태 int 함수명(인자, …) * …; 인자 생략 가능, 여러개 전달 가능 가변인자를 위한 매크로 특성 - ANSI C에서는 이식성을 높일 목적으로 가변길이 인수를 사용하기 위한 매크로를 제공 - 헤더파일 : #include - va_start / va_arg / va_end va_start(list,fix) - 리스트를 초기화 - 리스트 포인터 고정 다음인자의 시작주소를 리스트에 저장함 - va_list : 헤더파일에 어떤 주소도 대입받을 수 있는 v..
[고급 C++]포인터 1편(프로세스/포인터변수/포인터연산/NULL포인터) 프로세스 프로세스 정의 메모리에서 실행중인 프로그램 특징 - xx번지라고 하는 주소 개념을 가짐 - 메모리 주소 공간은 스택 세그먼트 / 힙세그먼트 / 데이터 / 코드 세그먼트로 구분 - 제한된 공 mk28.tistory.com [고급 C++]포인터 2편(배열과 포인터) 배열과 포인터 1차원 배열과 포인터 배열 특성 - 배열의 이름은 배열의 시작주소(num = &num[0] =배열의 시작주소) - 연속적인 메모리 할당 보장 1 #include 2 int main() 3 { 4 int num[5] = {1.. mk28.tistory.com [고급 C++]포인터 3편(배열 포인터/포인터 배열/문자열 상수 포인터) [고급 C++]포인터 ..
[고급 C++]포인터 1편(프로세스/포인터변수/포인터연산/NULL포인터) 프로세스 프로세스 정의 메모리에서 실행중인 프로그램 특징 - xx번지라고 하는 주소 개념을 가짐 - 메모리 주소 공간은 스택 세그먼트 / 힙세그먼트 / 데이터 / 코드 세그먼트로 구분 - 제한된 공 mk28.tistory.com [고급 C++]포인터 2편(배열과 포인터) 배열과 포인터 1차원 배열과 포인터 배열 특성 - 배열의 이름은 배열의 시작주소(num = &num[0] =배열의 시작주소) - 연속적인 메모리 할당 보장 1 #include 2 int main() 3 { 4 int num[5] = {1.. mk28.tistory.com 배열포인터 다차원 배열의 시작주소를 저장하여 데이터로 사용하는 포인터 변수를 의미 * 2차원 배..
배열과 포인터 1차원 배열과 포인터 배열 특성 - 배열의 이름은 배열의 시작주소(num = &num[0] =배열의 시작주소) - 연속적인 메모리 할당 보장 1 #include 2 int main() 3 { 4 int num[5] = {100, 200, 300, 400, 500}, i; 5 int *p1; 6 7 printf("%d, %d \n", sizeof(num), sizeof(num[0])); 8 9 printf("\n"); 10 for(i = 0; i < 5; i++) 11 printf("%p: %d \n", &num[i], num[i]); // 연속된 메모리 보장 12 13 return 0; 14 } :!a.out 20, 4 7ffff0f0: 100 7ffff0f4: 200 7ffff0f8: 3..