C语言的指针(基础篇章)

一、内存与指针

**内存是以字节为单位进行编址的,内存中的每个字节都对应一个地址,通过地址才能找到每个字节。而我们常说的变量,变量的内存地址就是变量的指针。切记,指针是有类型地址常量。
**

  内存的快捷方式——指针

定义指针变量的一般形式:

 type *  variable  (指向数据类型 *指针变量名)

二、指针变量

  • 重点就是区分一下下面的本质区别:
    在int *var中; var、&var、*var 者的区别?
    var——指针变量
    &var——对指针变量取地址
    *var——取指针变量地址所指向地址的内容
  • 给个例子:输入两个整数,存储在变量a和b中,当a小于b时,使用指针交换a和b并输出。
    这时大脑要有逻辑思想(以图形的形式吧):

三、指针的运算

指针运算的本质是指针中存储的地址的运算。
- eg:p+n、p-n、p++、p–、++p和–p等,其中n是整数。
解释:将指针p加上或者减去一个整数n,表示p向地址增加或减小的方向移动n个元素单元,从而得到一个新的地址,使能访问新地址中的数据。每个数据单元的字节数取决于指针的数据类型。
#include

四、指针的一些基础小结

  • 指针变量的初始化问题小结:
    指针变量在使用前必须要初始化,把一个具体的地址赋给它,否则引用时会有副作用,如果不指向任何数据就赋“空值”NULL。
  • 变量与指针变量:
    变量的实质是代表“内存中的某个存储单元”。指针变量是用来存储地址,而一般变量是存储数值的。指针变量可指向任何一种数据类型,但不管它指向的数据占用了多少字节,一个指针变量占用4个字节。
  • 数组名与指针变量:
    数组名是一个常量,不允许重新赋值。
    指针变量是一个变量,可以重新赋值。

来自本人的简书(链接):
http://www.jianshu.com/writer#/notebooks/4124910/notes/4155638

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值