摘要
本文主要讲述char占1字节char*占4字节。
1. 简练解释
char的数据类型是char,而char*的数据类型是pointer。
2. 不行你看
int main(){
cout << sizeof(char)<< endl; // char类型:4 bytes
cout << sizeof(char*)<< endl; // 指针类型:4 bytes
cout << sizeof(long*)<< endl; // 指针类型:4 bytes
cout << sizeof(double*)<< endl; // 指针类型:4 bytes
cout << sizeof(int*)<< endl; // 指针类型:4 bytes
cout << sizeof(int)<< endl; // int类型:4 bytes
return 0;
}
3. 如果我还没说透
IEEE标准中,一个char就是一个字节(byte),一个指针(或者说是一个int)就是4个字节(bytes),这是统一标准。
接下来说说指针,指针存放地址,一般PC上使用的本机编译程序是32位的,对内存和虚拟内存编制地址空间时候,每个地址用32位(也就是4个字节)的整数表示。另外,如果你不明白为什么char*,long*,double*,......,int*都是指针类型,即大小都是4 bytes,这些C语言中的指针的概念可以参照我的另一片博客认识C语言中的指针