WINDOWS NT 32位C ++ 程序 ,void *p=malloc(100) ,sizeof(p)是多大
时间: 2023-09-29 18:09:53 浏览: 56
在 Windows NT 32位平台上,void * 指针的大小为 4 字节(byte),即 sizeof(void *) = 4。这是因为在32位系统中,内存地址的长度为32位,即4个字节,而 void * 指针变量存储的是内存地址,因此其大小也为4字节。在你的示例中,指针变量 p 指向动态分配的 100 字节内存空间的起始地址,而 sizeof(p) 实际上是求指针变量 p 的大小,而非其指向的内存空间大小。
相关问题
void *p=malloc
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进行处理和管理。
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`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)