本帖最后由 736010695 于 2014-11-18 16:19 编辑
#include <stdio.h> int main() { /* 不同类型数据对应的输出占位符: %d int %c char %f double\float %s 字符串 %ld long int %lld long long int %d short long %u unsigned(最高位不当作符号位,不会改变内存的字节数) %zd或者%lu unsigned long
char a //内存中占一个字节 int b //内存中占四个字节 double //内存中占八个字节 float //内存中占四个字节 long int //内存中占八个字节 long long int //内存中占八个字节 short long //内存中占两个字节 */
//无论什么类型的指针变量,在内存中所占字节数都是八个 char *p1; int *p2; double *p3; long *p4; //用sizeof输出以上指针变量的内存大小,验证结果都是8 //sizeof返回值是unsignedlong,所用的占位符是%zd或%lu printf("p1=%zd\np2=%zd\np3=%zd\np4=%zd\n", sizeof(p1), sizeof(p2), sizeof(p3), sizeof(p4));//输出结果都是8
/*什么类型的指针变量只能指向同类型的数据,否则在赋值和取值时 指针会按照自己类型的内存大小取或赋值给对应的内存个空间*/
return 0; }
|