c - C中的指针(指针的值)?

标签 c pointers

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/

相关文章:

c - 用户定义函数返回 0,即使不应该返回 0

c - 不兼容的指针类型警告

c - 未知的段错误

c - 如何覆盖 A C 系统调用?

C 编程循环行和列

python - Cython:让python创建内存由C++填充

c - 将成员地址分配给结构中的其他成员

c - 如何使用 C 中的函数生成随机 float 数组

c - 如何在不使用内置malloc函数的情况下实现enque函数?

c - 初学者C,为什么我的字符串中添加了一堆随机的东西?