指针问题
初学指针我定义了一个*p,可不可以理解位*p就是i?以及我用%d打印出来p出来的奇怪的数字又是什么? 本帖最后由 jackz007 于 2020-10-18 15:20 编辑
#include <stdio.h>
main(void)
{
int i = 8888 , * p = & i ;
printf("p = %p\n" , p) ; // 输出指针变量 p 的数值
printf("p = %I64X\n" , p) ; // 输出指针变量 p 的数值
printf("& p = %p\n" , & p) ; // 输出指针变量 p 的内存地址
printf("& p = %I64X\n" , & p) ; // 输出指针变量 p 的内存地址
printf("& i = %p\n" , & i) ; // 输出整型变量 i 的内存地址
printf("& i = %I64X\n" , & i) ; // 输出整型变量 i 的内存地址
printf("i = %d\n" , i) ; // 输出整型变量 i 的数值
printf("* p = %d\n" , * p) ; // 输出指针变量 p 所指向内存单元所存储整型变量的数值
} %p是以地址形式输出数字,一般是十六进制。第六行跟第七行就是把0用那个格式输出出来。第八行是查看i的内存地址,第九行把0这个值以十进制的格式输出。第十行是把内存地址以十进制输出出来,你换算一下,跟第八行的值是一样的。 2269099035 发表于 2020-10-18 15:12
%p是以地址形式输出数字,一般是十六进制。第六行跟第七行就是把0用那个格式输出出来。第八行是查看i的内存 ...
谢谢
页:
[1]