void는 C 프로그래밍 언어에서 "없음", "빈", **"무효"**를 의미하는 키워드입니다. void는 여러 가지 용도로 사용되며, 함수의 반환값, 매개변수, 포인터의 타입 등을 정의하는 데 사용됩니다.
void의 주요 용도:
- 반환값이 없는 함수:
- 함수가 아무런 값을 반환하지 않을 때 void를 사용하여 반환값이 없음을 명시합니다.
- 예를 들어, 출력만 하고 값을 반환하지 않는 함수에서 void를 사용합니다.
- 여기서 greet() 함수는 void 반환 타입을 가지므로, 이 함수는 값을 반환하지 않습니다. greet() 함수는 단순히 화면에 "Hello, World!"를 출력하는 역할을 합니다.
- #include <stdio.h> void greet() { printf("Hello, World!\n"); } int main() { greet(); // 반환값이 없는 함수 호출 return 0; }
- 함수 매개변수에서 void:
- 함수 매개변수에서 void를 사용하면, 그 함수가 매개변수를 받지 않음을 나타냅니다.
- 예를 들어, void 매개변수를 사용하면 해당 함수는 매개변수 없이 호출된다는 것을 의미합니다.
- 위 코드에서 void printMessage(void)는 매개변수가 없음을 명시하는 방식입니다.
- void printMessage(void) { printf("This function takes no arguments.\n"); } int main() { printMessage(); // 매개변수 없이 호출 return 0; }
- void 포인터:
- void*는 **"어떤 타입의 포인터든지"**를 의미하는 불특정 타입의 포인터입니다. 즉, void*는 특정 타입의 포인터가 아니라 어떤 타입의 데이터를 가리킬 수 있는 포인터입니다.
- void* 포인터는 다른 타입으로 형 변환(casting)을 통해 사용될 수 있습니다.
- void* 포인터는 다른 데이터 타입의 주소를 받아서 처리할 수 있으며, 이를 사용하려면 해당 타입으로 변환이 필요합니다.
- #include <stdio.h> void printData(void* ptr) { int* intPtr = (int*)ptr; // void*를 int*로 형 변환 printf("The value is: %d\n", *intPtr); } int main() { int num = 10; printData(&num); // void* 포인터에 int 타입 포인터 전달 return 0; }
요약:
- **void**는 C에서 "값이 없음"을 나타내며, 함수의 반환값이 없을 때나 매개변수가 없을 때 또는 불특정 타입의 포인터를 나타낼 때 사용됩니다.
- void는 구체적인 데이터 타입을 지정하지 않기 때문에, 유연성이 필요한 상황에서 유용하게 사용됩니다.
'c++' 카테고리의 다른 글
c 언어 규칙 (0) | 2025.03.18 |
---|---|
c 함수 반환문 return,void (0) | 2025.03.18 |
int main(), return 0 (0) | 2025.03.18 |
c 주요 함수 - #include<stdio.h> (0) | 2025.03.18 |
c학습2 저장, 컴파일, 실행방법 (0) | 2025.03.18 |