码迷,mamicode.com
首页 > 其他好文 > 详细

(一)指针就是地址

时间:2018-01-14 14:27:16      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:另一个   含义   col   进制   inf   地址   pre   highlight   语言   

首先明确一个观点:指针就是地址。这是理解指针的起始一步。

直观感受下,变量的地址

 1 int main()
 2 {
 3     int foo;
 4     int *foo_p;
 5     foo = 5;
 6     foo_p = &foo;
 7     printf("   foo...%d\n", foo);
 8     printf("*foo_p...%d\n", *foo_p);
 9     printf("  &foo...%p\n", &foo);
10     printf(" foo_p...%p\n", foo_p);
11     printf("&foo_p...%p\n", &foo_p);
12     return 0;
13 }

技术分享图片

几点说明:

  1. %p中的p是pointer(指针)的意思,专门用于打印指针变量中的内容。
  2. 有时看到用%x打印指针的,虽然结果一样,但含义完全不同。%p:用合适的方式(一般是十六进制)输出指针变量中存放的另一个变量的地址;%x:用十六进制的方式打印出变量的值。并且在我的环境中使用%x打印指针变量的话,会省略前面的0。
指针变量的示意图
技术分享图片
左上角是变量名,右上角是变量地址,中间是变量存储的内容。
可以这样来理解指针:指针是一种特殊的语言机制,它存放的是其它变量的地址,并且可以通过解引用操作符*,来获取该地址的内容。这也造成了一种指向的关系,如上图 foo_p->foo。
 

(一)指针就是地址

标签:另一个   含义   col   进制   inf   地址   pre   highlight   语言   

原文地址:https://www.cnblogs.com/huangjianping/p/8283216.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!