함수 이름 앞에 아스타리스크가 있는 기능은 무엇입니까?
나는 대부분의 C프로그램에서 볼 수 있는 낯선 함수 선언과 혼동되어 왔다.
void *func_name(void *param){
...
}
무엇인가.*
함수에 대한 의미?(에 대한 이해*
변수 타입에서는 다른 변수에 대한 포인터를 생성하여 후자의 변수가 메모리에 저장되어 있는 주소를 추적할 수 있습니다.하지만 이 함수의 경우, 나는 이것이 무엇인지 모르겠다.*
아스타리스크는 시사하는 바입니다.
아스타리스크는 반환 유형에 속하며 함수 이름에 속하지 않습니다.
void* func_name(void *param) { . . . . . }
이는 함수가 보이드 포인터를 반환함을 의미합니다.
*는 함수의 반환 유형을 나타냅니다.void *
.
포인터 변수를 선언할 때, 이 명령어를*
변수 이름 또는 변수 유형에 가깝습니다.
int *a;
int* a;
저는 개인적으로 첫 번째 선택지가 더 명확하다고 생각합니다. 왜냐하면 만약 당신이 여러 포인터를 정의하려면,
세퍼레이터를 반복해야 합니다.*
매번:
int *a, *b;
이 경우 "close to type 구문"을 사용하면 오해의 소지가 있습니다.다음 사항을 기입하면 다음과 같습니다.
int* a, b;
int에 대한 포인터를 선언하고 있습니다.a
int ( ) 및 int ( )b
).
이 구문은 함수 반환 유형에서도 찾을 수 있습니다.
그*
반환 유형에 속합니다.이 함수는 반환됩니다.void *
, 타입이 지정되지 않은 메모리 위치에 대한 포인터입니다.
포인터는 일부 메모리 위치의 주소를 값으로 하는 변수 유형입니다.C의 여러 포인터 유형은 포인터 변수가 참조하는 메모리 위치에 있을 것으로 예상되는 여러 유형을 나타냅니다.비상대기상태int *
로 해석할 수 있는 장소를 참조할 것으로 예상됩니다.int
하지만...void *
는 지정되지 않은 유형의 메모리 위치를 참조하는 포인터 유형입니다.데이터가 참조하는 메모리 위치에서 데이터에 액세스할 수 있으려면 이러한 보이드 포인터를 주조해야 합니다.
즉, 함수가 A를 반환하는 것을 의미합니다.void*
.
언급URL : https://stackoverflow.com/questions/8911230/what-is-the-function-of-an-asterisk-before-a-function-name
'IT이야기' 카테고리의 다른 글
JSP/Servlet을 사용하여 서버에 파일을 업로드하려면 어떻게 해야 합니까? (0) | 2022.06.08 |
---|---|
추가 래핑 태그 없이 v-html을 렌더링하시겠습니까? (0) | 2022.06.08 |
스탠드아론 VUE 애플리케이션 (0) | 2022.06.08 |
Nginx 뒤의 VueJS 라우터 이력 모드 (0) | 2022.06.08 |
컴파일러/옵티마이저를 통한 프로그램 고속화를 가능하게 하는 코딩 프랙티스 (0) | 2022.06.08 |