sizeof(char *)
时间: 2023-10-22 08:10:21 浏览: 25
As an AI language model, I don't have access to the memory of the system. But in general, the size of a pointer to a char type, i.e., sizeof(char *), is dependent on the architecture of the system. In a 32-bit architecture, the size of a pointer is typically 4 bytes, while in a 64-bit architecture, the size of a pointer is usually 8 bytes.
相关问题
sizeof char*
sizeof(char*) 是用来获取 char* 类型变量的大小(字节数)的运算符。
在大多数平台上,char* 的大小通常是指针的大小,即指针所占用的字节数。这个大小与具体的操作系统和编译器有关,一般情况下是 4 字节或 8 字节,分别对应 32 位和 64 位系统。
例如,在一个占用 4 字节的指针大小的平台上,sizeof(char*) 的结果是 4。
需要注意的是,sizeof 运算符返回的是类型或变量所占用的内存空间的字节数,而不是字符串的长度。如果想获取字符串的长度,可以使用 strlen() 函数。
char **p = (char *)malloc(m*sizeof(char *));
这段C语言代码是动态分配一个多级指针数组。`char **p` 定义了一个指向字符指针的指针变量 `p`。`(char *)malloc(m*sizeof(char *))` 这部分做了以下几件事:
1. `malloc()` 函数用于动态分配内存,它接收一个参数,即要分配的字节数。`m * sizeof(char *)` 表示分配 `m` 个字符指针(每个指针占用 `sizeof(char *)` 字节)所需的总字节数。
2. `sizeof(char *)` 计算的是指针类型的大小,因为 `char *` 是一个指向 `char` 类型的指针,所以它的大小取决于目标平台的架构。
3. 结果是,`p` 现在是一个可以存储 `m` 个 `char` 指针地址的数组。
以下是一个简单的示例,展示如何使用这个分配的内存:
```c
int m = 5; // 假设我们想创建一个包含5个元素的指针数组
char **p = (char **)malloc(m * sizeof(char *));
for (int i = 0; i < m; i++) {
p[i] = (char *)malloc(sizeof(char)); // 分配每个元素的内存空间
// 这里可以对每个指针指向的内存赋值,如 p[i] = "example" 或者 p[i] = '\0';
}
// 使用完后记得释放内存
for (int i = 0; i < m; i++) {
free(p[i]);
}
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)