p*p**p的内存分配是什么(如果有的话)以及当我写char **p = NULL时它们在哪里?

最佳答案

p的大小取决于其类型。*p**p的大小(以及***p**********p等)是指针的大小:通常为4或8字节,具体取决于您使用的是32位还是64位系统。
当您编写char **p = NULL时,您不会分配任何超出char **p所能提供的额外内存。你只是用一个值初始化变量在内存中的位置,而不是不初始化它。
至于它们在哪里,这取决于上下文。如果这些是函数中的局部变量,则在调用函数时将在堆栈上分配它们。如果它们是全局变量,它们将在程序的数据段中指定位置。如果它们是struct的成员,则取决于声明结构类型变量的位置。

10-07 19:04
查看更多