什么时候使用指针取消引用有什么麻烦,而不是在需要时取消引用指针。代码如下。 这里的错误是什么,无法理解。 在ansi c的balagurusamy书中给出。
int *p,m=100 ;
p = &x ;
printf("%d",p) ;/*error*/
答案 0 :(得分:2)
修正代码中的几件事:
#include <stdio.h>
int main(void)
{
int *p, m = 100, x = 10;
p = &x; // In words, making 'p' to point to the address of 'x'
printf("Address %p contains a value %d..", (void *)p, *p);
// ^^ ^^^^^^^^^ ^
// Using the correct Typecasting Dereferencing
// format specifier the pointer the pointer
//
// Some code
return 0;
}
生成的输出:
Address 0x7ffdf396c128 contains a value 10..
如果您尝试使用相同的代码(地址不太可能相同),则应该获得不同的结果。
说明:
x
void
,然后使用%p
格式说明符而不是使用%d
。