C语言:
如果 (p) 是一个指针声明如下:
int a=5, *p;
p = &a;
*p 会打印什么?
最佳答案
*p
不会“打印”任何东西;这只是一个取消引用指针的表达式,并生成它指向的任何 int
值。
你可以打印它:
printf("*p=%d\n", *p);
它会在你的程序中打印5
,因为p
指向a
,而a
的值是 5
。
%d
很重要,它告诉 printf()
期待一个 int
值,并将其格式化为字符串以供打印.
您还可以打印指针本身:
printf("p is %p, a is at %p\n", p, (void *) &a);
这将打印相同的地址两次。 %p
格式说明符用于打印地址。
关于c - C中的指针(指针的值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22781973/