source

C의 포인터 크기 가져오기

manysource 2023. 11. 1. 22:27

C의 포인터 크기 가져오기

C에서 포인터의 크기를 가져오려면 어떻게 해야 합니까?sizeof? 가리키는 값이 아닌 포인터를 저장하기 위해 메모리를 할당하려고 합니다.

임의 유형이 주어졌을 때(선택했습니다)char여기에, 그러나 그것은 구체적인 예를 위해서입니다):

char *p;

다음 표현 중 하나를 사용할 수 있습니다.

sizeof(p)
sizeof(char *)

A로 이어짐malloc()다음과 같은 호출:

char **ppc = malloc(sizeof(char *));
char **ppc = malloc(sizeof(p));
char **ppc = malloc(sizeof(*ppc));

마지막 버전은 다음과 같은 유형의ppc변경하면 식을 통해 올바른 공간을 할당할 수 있습니다.

이렇게 하면 효과가 있을 것입니다.

sizeof(void*)
char *ptr;
char **ptr2 = malloc(sizeof(ptr));

목적을 달성할 수 있어야 합니다.플랫폼이 무엇이든 간에 이 코드는 작동해야 합니다.

언급URL : https://stackoverflow.com/questions/9760113/get-size-of-pointer-in-c