基于 c和指针 的学习心得 1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

在大一上学期,由于学校的通病,对于c语言的指针讲解过于简略,这里是我寒假重学指针的一些感悟,而内容基于 自己对 《c primer plus》 与《 c与指针 》的理解与感悟。


一、指针是什么? 

指针就是地址。对于 无论是输出,还是输入,在内存中每一个数据 都会被计算机赋予一个地址。而计算机系统内部也有专门存放 地址的硬件。

其实通俗的说,就类似与,内存中的每个数据都对应着一个地址

其实,我们平时输入一段文字或玩一个游戏,其实是在内存中进行。好比在一个书房,存放书籍的书架和书柜相当于电脑的外存,我们工作的办公桌相当于内存。

通常,我们把要永久保存、大量数据存储外存上,把一些临时或少量的数据和程序放在内存上。当然,内存的好坏会直接影响电脑的运行速度。

int a = 10;
int *p = &a;

int b = 1;
int *g= &b;
                           地址(p)                     地址(g)              
                           10                          1

              p和g就相当于是这两个数据的地址,也可称之为是指针指向这两个数据。 

 而值得注意的,我们都知道创建变量时,我们会用到关键字 char、 int、 float这些数据类型。而这些数据类型的最大不同便是占用的储存空间(这里一般是指内存)的大小不同。

而 我们通常也会看见 int *p,char *p;但这里要注意的是 指针大小是由当前CPU运行模式的寻址位数决定!这里如果想要深入了解的同学们,可以去搜索有关计算机基础的资料,上面详细记载了这些内容的补充。(这里就不过多叙述了),同学们可以 用sizeof函数去验证一下。

一般在32位计算机操作系统下,指针所占4个字节,在64位操作系统下,所占8个字节。

二、使用方法

1.如何使用指针

在这里我们必须认识两个操作符 & 取址操作符,* 取值操作符

int a=10;
int *p;// 一般来说 创建指针变量就需要赋予他地址,不要出现野指针,这是不好的习惯
p=&a;// 这样就完成了指针p的初始化 将p指向了a的地址。

*p=20;// 这个操作我们也称之为 解引用
printf("%d",a);// 通过取值 操作符 通关间接访问修改a里面的值

 对于不同的数据类型,我们也得使用不同的指针类型进行操作。

指针类型 决定 解引用时能访问几个字节元素。//这点很重要 在后面的学习中一定要区分开。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值