Jon*_*ler 31
给定一个任意类型(我在char这里选择,但这是为了具体的例子):
char *p;
Run Code Online (Sandbox Code Playgroud)
您可以使用以下任一表达式:
sizeof(p)
sizeof(char *)
Run Code Online (Sandbox Code Playgroud)
导致malloc()呼叫如:
char **ppc = malloc(sizeof(char *));
char **ppc = malloc(sizeof(p));
char **ppc = malloc(sizeof(*ppc));
Run Code Online (Sandbox Code Playgroud)
最后一个版本有一些好处,如果ppc更改类型,表达式仍然分配正确的空间.
Joh*_*nck 12
这应该做的伎俩:
sizeof(void*)
Run Code Online (Sandbox Code Playgroud)