void *p=malloc
时间: 2023-09-17 07:00:42 浏览: 50
void *p=malloc 指的是在C语言中使用malloc函数动态分配内存,并将返回的内存地址赋给void类型的指针变量p。
malloc函数是C语言中的一个标准库函数,其原型为void *malloc(size_t size),其作用是在堆空间中分配一块指定大小的内存,并返回指向该内存块的指针。
在该语句中,void *p是一个void指针变量,它可以指向任意类型的数据。void指针是一种通用指针类型,可以用来存储任意类型对象的地址。malloc返回的是一块分配的内存的起始地址,将该地址赋给void指针变量p,即表示p指向了这块动态分配的内存。
通常情况下,我们会根据实际所需的内存大小来替换掉size_t size,以确保分配到足够的内存空间。
需要注意的是,malloc函数分配的内存是连续的字节空间。分配的内存需要在使用完毕后手动释放,以避免内存泄漏。释放内存的方法是使用free函数,即free(p),其中p为之前malloc分配的内存地址。
void *p=malloc这个语句本身并没有完成具体的内存分配操作,它仅仅是声明了一个void指针变量p,并将后续用到的内存分配操作的结果赋值给p进行处理和管理。
相关问题
void*p=malloc(100*1024*1024)
void*p=malloc(100*1024*1024)是一个动态内存分配的语句,它的作用是在堆上分配100MB的内存空间,并将该空间的首地址赋值给指针变量p。需要注意的是,由于内存是有限的资源,过度分配内存可能会导致内存不足的问题,因此在使用动态内存分配时需要谨慎使用,避免出现内存泄漏等问题。
1. 动态内存分配的优缺点是什么?
2. 如何避免动态内存分配带来的内存泄漏问题?
3. C++中还有哪些常用的内存管理方式?
Char str[ ] = “http://www.xgimi.com/” char *p = str ; int n = 10; void *p = malloc( 100 ): 请计算 (1) sizeof (str ) =
在计算 `sizeof(str)` 之前需要先了解一下字符串的存储方式。
在 C 语言中,字符串实际上是以字符数组的形式存储的,由于字符串是以 null 字符(`\0`)作为结尾的,因此字符数组的长度必须比字符串的长度大 1,以容纳这个 null 字符。
因此,对于字符串 `str`,它实际上是一个长度为 22 的字符数组,其中包括 21 个字符和一个 null 字符。因此,`sizeof(str)` 的结果为 22。
另外,代码中的 `void *p = malloc(100)` 有一个语法错误,应该修改为 `void *ptr = malloc(100)`。这行代码的作用是动态分配了一个大小为 100 字节的内存块,并将其首地址赋值给指针变量 `ptr`。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)