浅谈指针

指针就是地址,用指针来说更形象,因为计算机引用数据不像在源程序中一样,引用变量,而是通过地址引用数据,所以引用地址的时候,好像指向了数据的值,所以叫他指针。
上片文章已经写了指针的基本概念和指针与数据之间的关系,现在分享一下指针的几个特点;
1,指向常量的指针:
int a=5;
const intpa=&a;
也就是
x=5;
定义了一个指向常量的指针,记住从此pa=5;这个语句再也不能改变了,也就是pa=6;编译器就报错,但记住不能改变的是形式(pa=5),别的都可以变。
比如:a=6;printf("%d",pa),结果是6,
再比如,y=9;pa=&y;printf("%d",pa);结果是9;
2,常量指针
int a=5;
int const pa=&a;
这时候pa=&a,不能再变了,但可以改变改地址中的值。
3,指向常量的常量指针
int a=5;
const int
const pa=&a;这时候只能通过“a=6”的形式改变地址中的值,别的都不变;
4,因为编的程序很大,所以变量和指针容易混乱,所以定义了一个变量,再定义其指针的时候,在变量字母前加p,就不容易出错:
比如:char text[100];
char
ptext=&text;
5,指针和数组的关系
char a[10];
char
pa=NULL;
pa=a;
一旦有了上面的赋值,指针和数组就相通了,pa和a可以互换
比如引用a[5],就有很多方式了:
指针方式:
(pa+5),
(a+5),(&a[0]+5),(&pa[0]+5)也就是先找到其地址再引用
数组方式:a[5],pa[5]
需要注意的一点是pa才是指针,pa的 值可以改变,a,&a[0]的值是常量;
但是&a是什么呢?&pa又是什么呢?
思考一下,
下期再继续分享多维数组,以及上面的思考题

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值