C的指针规则

int *hoge_p;
int hoge=10;
hoge_p=&hoge;
*hoge_p=10;

为什么?是规则还是可以逻辑推导的

阅读 4.1k
2 个回答

关于“*hoge_p=10;”,如果你想问的是为什么*hoge_p的值是10,那么解释如下:

int *hoge_p;

定义一个指向int类型的指针,这个指针的名字是hope_p

int hoge=10;

定义一个int类型的变量,这个变量的名字是hoge,值是10

hoge_p=&hoge;

将hoge变量在内存中的地址赋值给hogep,现在hogep就指向hoge了

*hoge_p的值是10

*号的意思是取值,而hoge_p指向了hoge,*hoge_p就是hoge的值,就是10

你是不是想问*hoge_p的值为什么等于10?

int * hoge_ p 定义了一个整型指针,

hoge_ p = &hoge 将hoge的地址值赋给了hoge_ p,

所以 hoge_ p 是一个指向hoge变量的指针,所以*hoge_p == 10.

因此,这是可以逻辑推导的。

&这里是取地址运算符,*是访址运算符。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进