可以这样写***p = (int )malloc(sizeof(int **));吗
时间: 2023-08-16 09:08:50 浏览: 54
不可以这样写 `***p = (int *)malloc(sizeof(int **));`。因为 `***p` 表示要访问三指针所指向的值,而在这种情况下,你试图将 `malloc()` 的返回值赋给一个整型指针。
正确的写法应该是将 `malloc()` 的返回值赋给 `**p`,即 `**p = (int *)malloc(sizeof(int *));`。这样可以将 `malloc()` 分配的内存空间的起始地址赋给 `**p`,使得 `**p` 成为一个指向整型变量的指针。
需要注意的是,在进行内存分配之前,要确保 `**p` 指向的内存空间已经被正确地分配和初始化。否则,解引用操作 `**p` 可能会导致访问无效内存,从而引发程序崩溃或产生未定义行为。
希望这个解释能够帮助你理解正确的写法。如果还有任何疑问,请随时提问。
相关问题
int**p;**p=(int**)malloc(n*sizeof(int*))正确吗?
不, int**p;**p=(int**)malloc(n*sizeof(int*)) 不是正确的。这段代码有两个问题。首先,int** p;声明了一个指向指针的指针变量p。接下来,**p=(int**)malloc(n*sizeof(int*))试图将分配的内存地址赋值给二级指针p,这是不正确的,因为**p是一个值,而不是一个指针。正确的写法应该是 *p = (int*)malloc(n*sizeof(int)),这样可以将分配的内存地址赋值给一级指针p。
p=(int*)malloc(n*sizeof(int)
这段代码是一段动态分配内存的代码。在C语言中,malloc()函数可以用来动态地分配内存空间,以便在程序执行过程中使用。
根据代码中的语句p=(int*)malloc(n*sizeof(int)),变量p被声明为一个指向int类型的指针。在这段代码中,我们要为p分配内存空间以存储n个整型数据。
首先,sizeof(int)返回一个int类型所占的字节数,通常为4字节(32位系统)或8字节(64位系统)。
然后,n*sizoef(int)计算出所需的内存空间总大小,单位是字节。
malloc()函数用来申请所需的内存空间。在这个例子中,它会为p分配n个sizeof(int)大小的字节空间。
最后,将malloc()函数返回的指向分配空间起始位置的指针赋值给变量p,这样我们就可以通过p来访问动态分配的内存空间。记住,需要将返回的指针强制类型转换为(int*)类型,因为malloc返回的是(void*)类型指针。
这段代码的目的是在运行时动态地分配一个大小为n*sizeof(int)的内存空间,以便存储整型数据,并通过指针p来访问该内存空间。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)