sizeof(char指针):返回8
时间: 2024-04-12 09:34:03 浏览: 20
sizeof(char指针) 的返回值取决于你所运行的机器的体系结构和编译器。在大多数现代计算机体系结构中,指针的大小通常是 4 或 8 字节。在 32 位体系结构中,指针大小通常为 4 字节,而在 64 位体系结构中,指针大小通常为 8 字节。因此,sizeof(char指针) 的返回值可能是 4 或 8,而不是固定的 8。
相关问题
sizeof char*
sizeof(char*) 是用来获取 char* 类型变量的大小(字节数)的运算符。
在大多数平台上,char* 的大小通常是指针的大小,即指针所占用的字节数。这个大小与具体的操作系统和编译器有关,一般情况下是 4 字节或 8 字节,分别对应 32 位和 64 位系统。
例如,在一个占用 4 字节的指针大小的平台上,sizeof(char*) 的结果是 4。
需要注意的是,sizeof 运算符返回的是类型或变量所占用的内存空间的字节数,而不是字符串的长度。如果想获取字符串的长度,可以使用 strlen() 函数。
sizeof结构体指针
在C语言中,sizeof操作符用于获取一个变量或数据类型所占用的存储空间大小,单位为字节。当对一个结构体指针使用sizeof操作符时,会返回该指针所占用的存储空间大小,而不是所指向的结构体所占用的存储空间大小。
例如,假设有如下的结构体定义:
```
struct Person {
char name[20];
int age;
float height;
};
```
那么,定义一个指向该结构体的指针可以这样写:
```
struct Person *p;
```
对于该指针,使用sizeof操作符会返回该指针所占用的存储空间大小,通常是4或8字节(取决于编译器和操作系统的位数)。而如果要获取该指针所指向的结构体所占用的存储空间大小,可以使用sizeof操作符和解引用运算符:
```
sizeof(*p)
```
这将返回该结构体所占用的存储空间大小,即24字节(假设int占用4字节,float占用4字节,且指针占用8字节)。