int* p = (int*)malloc(sizeof(int));,怎样获取p的大小
时间: 2023-11-21 19:06:13 浏览: 54
可以使用sizeof运算符来获取p指向的内存块大小,即:
```
size_t size = sizeof(*p);
```
这里使用了*p,而不是p,是因为p本身是一个指针,sizeof(p)将返回指针本身的大小,而不是指向的内存块大小。因此,要获取指向的内存块大小,需要使用指针所指向类型的大小,即int类型的大小。
相关问题
int *p=(int*)malloc(sizeof(int)*len);
int *p=(int*)malloc(sizeof(int)*); 这段代码的作用是动态分配一个长度为 len 的 int 类型数组,并将其指针赋值给 p。这里使用了 malloc 函数来实现动态内存分配,sizeof(int)*len 表示需要分配的内存大小,int* 表示将返回的地址强制类型转换为 int 指针类型。最后,将指针赋值给 p 可以通过 p 来访问和操作这个动态分配的数组。
int*p=(int*)malloc(sizeof(int));存入数据
如果您想存入一个整数数据,可以使用以下代码:
```
int data = 42; // 假设要存入的数据是 42
int* p = (int*)malloc(sizeof(int)); // 分配内存
*p = data; // 存储数据到指针所指向的内存地址
```
这段代码将会在堆上分配一个整数大小的内存空间,并将这个内存空间的起始地址保存在指针变量 `p` 中。然后,我们将数据 `42` 存储到指针所指向的内存地址中。这样就完成了数据的存储。当不再需要这个内存空间时,需要使用 `free(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)