初涉指针

对于c语言的学习来说指针的学习尤为关键,因为它与函数,数组都有着紧密的联系。接下来我来和大家说说我最近学到的关于指针的基础知识。

1.本质剖析

指针对于我们而言总给人以一种神秘感,叫啥不好非要叫指针,给人一种很难理解的感觉。事实上指针就是地址,至于为什莫不直接叫地址,而是把它叫成指针,原因也很简单,同一个东西在同一个地方反复出现,对大多数人来说是很混乱的事。总之,明确一点,指针就是地址。

2.指针的定义

int a=9;

int *p;          //定义一个整型指针变量p

p=&a;         //整型指针(地址)变量p保存整形地址指;同样的道理,上述的数据类型为整型,我们可以将数据类型定义为                                 float,double,long,short等都是合法的。对应解释为**指针(地址)变量p保存**地址值。

红色语句部分还有一种简写方式,可以写成int *p=&a,一步到位。至于为什莫原语句中定义时是*p,下一步成了p,因为呢*是一个指针标识符,p是定义过的,下面的语句可以直接用。

3.指针的独到之处-----解引用

#include  <stdio.h>
int main()
{ int a=9;
  int *p=&a;
  *p=200;//解引用
  printf("%d\n",a);
  return 0;
}

上述代码中在定义完指针变量P之后运用的就是指针的解引用,本质上此处的*就是一个间接访问符号,以此访问a的地址,显然这是一条赋值语句,然而a的地址值是不可变的,自然通过访问a的地址间接的将200赋值给了a,通过程序验证a=200

接下来我们来探讨一下二级指针,在定义完一级指针后,如果对其取地址,即&p与interesting**p是对等的,二级指针(在32位平台上指针都是四字节,64位平台为8字节)本质上保存的是指针的地址。写成

int a=39;
int **p=&pp;   
    *pp=&a;

对于二级指针想要完成改值操作则需要做两次解引用,大致过程为**p--&pp--&a--a



1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值