C语言之初入指针

指针,可以说是C语言的半壁江山,他和int,char,float等同属于数据类型里的一种。但与int,char等不同,她并不直接存储有现实意义的数据,而是存储某一数据的地址,进而帮助我们间接改变某一数据,甚至于帮助我们做到一些普通数据类型做不到的事情,如用自建函数返回两个以上的数据。打个不恰当的比方,指针和C语言其它部分之间的关系就像第三产业和第一二产业之间的关系。

下面我对指针的内容的整理:

  • 指针的含义。指针,通俗点讲就是地址。要理解指针是如何运作的,我们首先要对底层的硬件知识有一点了解。在程序运行后,程序内容转到内存中运行。而程序内容的每一条指令在内存都有自己的储存空间,如果CPU要调用这些指令,就要找到这些指令所在的地址进行调用,这时就用到了地址总线。地址总线并非一条线,而是若干条线的集合。单独看其中一条线,它可以通过断电与通电决定通向两个内存字节中的一个,两条线可以决定4个……地址总线控制通向哪个字节的方式就像就像数学中的二分叉树状图一样,每多一条,就像树状图每多一层一样,能决定的字节数就多两个。我们给这些字节依次编号,这些编号就是该字节的地址。而指针就是储存数据的地址,让我们能够通过地址对该地址对应字节上储存的数据进行修改。
  • 指针的基本知识。在C语言中,标准规定了“*”和“&”供指针进行使用。在进行指针变量创建时,“*”往往表示所创建的变量为指针变量,“&”表示取某一数据的地址。在其他情况下“*”叫做解引用符,代表取出该指针变量所存地址里的数据。表现如图:
  • 指针的类型和基本形式。指针的类型有普通指针,数组指针,函数指针,指针数组以及他们的组合形式。普通指针如上图所示。数组指针指的是指向数组的指针,它内部存储的是数组中每一个数据的地址,基本形式为——int (* p)[5] = &arr;(arr={0,1,2,3,4})。函数指针指的是指向函数的指针,其基本形式如下图:
  • 而指针数组与其说是指针不如说是数组,它是一个储存指针的数组,其基本形式为——int * p[5] ={&arr[0],&arr[1],……,&arr[4]};(arr={0,1,2,3,4})。

        到这里,初入指针的内容就结束了,但指针的全部内容并不止于此。如果想要精通C语言,还需要继续深挖。

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值