黑马程序员技术交流社区
标题: 2014.11.16学习小结之指针疑惑 [打印本页]
作者: 736010695 时间: 2014-11-16 22:33
标题: 2014.11.16学习小结之指针疑惑
本帖最后由 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;
}
作者: 许庭洲 时间: 2014-11-18 08:16
讲的很好,值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |