C语言指针初探

# include <stdio.h>

int main(void)

{

int * p;

int i = 3;

p = &i;

}

上面代码:

int * p:正解:p是变量的名字,int * 是数据类型,表示p变量存放的是int类型变量的地址

  错误理解:*p是变量名,它的数据类型是int类型

 p是变量名,int * 是它的数据类型,所谓int * 类型实际上就是存放int 变量地址的类型

p = &i; 1、p保存的是i变量的地址,所以取地址i就等同于p,即p指向i

    2、p不是i,i也不是p,因此修改i的值不影响p,修改p的值也不影响i

3、如果一个指针变量指向一个普通变量,则*指针变量     就完全等同于    普通变量,比如p指向i,则 *p 就完全等同于 i,*p变量 和 i变量 可以互换

4、* p:表示的以p的内容为地址的变量


指针和指针变量:

指针就是地址,地址就是指针,地址是内存单元的编号。指针就是一个值,相当于一个常量,所以没什么好说的;  

指针变量是存放地址的变量,它相当于数据类型的变量,所以研究的是指针变量;

但是要注意在我们叙述时,指针变量通常被简称为指针。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值