指针——如何不晕针?

指针,可恶的指针。。。
虽然绕但是感觉在函数中非常有用。
又是一个绝对和相对的问题。
但幸好还有绝对的存在,让相对不那么相对。
不像某些事物,连绝对都没有。
概念
*p:指针p指向的数值
&a:取变量a的地址
先上程序

int main()
{
    int a = 123;
    int *p;
    p = &a;

    printf("%d\n",*p);
    printf("%p\n",p);
    printf("%p",&p);
    return 0;
}

输出结果

123
0060FF0C
0060FF08
Process returned 0 (0x0)   execution time : 4.206 s
Press any key to continue.

解释
所以真实的电脑内存名字是十六进制表示的内存单元,各种类型的数值存储在电脑内存中。
这几个数字存储的方式是这样的。。。

存储.jpg

然而程序能处理的是变量的名字

从内存名字的角度:
a等价于0060FFC
指针变量只是一个变量,但他本身包含了指向内存里的数值信息

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • void* 类型指针:通用变体类型指针;可以不经转换,赋给其他指针,函数指针除外;malloc返回的就是void*...
    冰吉凌阅读 3,369评论 0 18
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,470评论 3 44
  • 我在站在窗前,猛地拉开窗帘。 我站在黎明中,感受每个细胞中突如其来涌进的阳光。新生从这里开始。 从这以后,我去了...
    编号636阅读 418评论 0 0
  • 我去西花园,玩了小勇士攀岩和游戏机。我最喜欢小勇士攀岩,因为他能锻炼我的胆量。所以我喜欢他。我还去了宠物店。我准备...
    杨继慧阅读 240评论 0 1