传说中的大山-指针

总有人说c语言的三座大山及,指针,函数,数组,在学习当中给我们带来了很大的困扰,对抽象问题无法理解,好,很高兴我翻越了其中一座山,接下来我会分享这三个问题的学习方法,每个章节后面都会附有练习题,需要着重强调的是,题一定要自己想办法敲一下,对概念的理解和发现问题有很大的帮助,好了,祝大家尽快渡过难关!!!

  1. 指针的定义:
    格式: <存储类型> <数据类型> * 变量名称;
    eg: char * pc;
    ==》数据类型用于标识目标存储空间大小
    ==》* 表示该类型是一个指针
    ==》变量名称则用于存储地址的值。

2 “&”用以获取一个变量的地址,“ * ”取出一个地址内的值

px+n指针向下偏移一个单元,不改变指针的值,
px++改变指针的值
注意:数组名称是常量,不能赋值(++用的时候会报错)
if(pa = NULL) :pa变量赋值,且值为假,不执行
if(pa == NULL):逻辑判断,看pa内部是不是为空

3.指针初始化
char * pc = NULL;
作用 避免野指针,没有任何初始化的指针。
指针的变量地址初始化: char *pc = &c;
用其他指针初始化: char *pc = &c;
用绝对地址初始化:char *pc = 0x23423423; 注意:该地址必须是可以访问的地址。一般不建议采用

5.数组与指针

  • 相同点啊a[i] = pa[i]
    (pa + i) =(a+i)
    a[i] = pa[i] = *(pa+i) = *(a+i);

数组名称是一个指针常量,不允许改变。
pa指针是指针变量,可以随时修改。

char buff[] ="aasdfadsf"; ===>buff是本地内存
137 char *pa = &buff[0];  ==>pa 指向本地内存,可以修改。
138 char *pb = "asdfadf"; ==>pb 指向静态常量区数据&
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值