用%p和%d输出指针变量的值,各是什么含义?
各位老师和同学,我学完指针这章了,还是有点不明白。 例如:指针变量p的基类型是double,那么p本身也是double类型的吗?还是int类型的?因为存储单元的地址都不会很长,而且没有小数,所以p本身是不是应该是int类型的?也就是说,指针变量本身的类型都是int? 另外,我编了一个程序: int a,*p; p=&a; printf("%p,%p,%d,%d,%p\n",p,&a,p,&a,a); 运行结果是: 0013FF7C,0013FF7C,1310588,1310588,CCCCCCCC %p和%d输出的指针变量p的值,各是什么含义呢?哪一个是p本身所在的地址的值?哪一个是a的地址值? 有点刨根问底,但没了解清楚心里很别扭,先谢谢大家!
指针变量本身都是32个二进制位的整数 %p输出的是16进制的地址 %d输出的是10进制的地址
答:地址其实也是数字, 一般用16进制表示 你可以 直接输出,如: #include main(){ int x; int *p1=&x; int **p2=&p...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>