c定义一个整型数组_C/C++编程笔记:「C语言指针」民间解读版本

相信很多同学在初学C语言时候,都会遇到遇到一个问题:指针,永远的神!

1c46771b90b59cbfa92c4f11a6e9305d.png

好消息,这个痛点将会在这篇文章得到解决,妈妈再也不用担心我的学习了!

一说指针,第一反应,指针是一种数据类型。

c语言学习,重点就是两个,一个是数据的数据类型,一个就是程序的结构。

整个C语言学习体系,在初学阶段就接触基本数据类型,整形实型字符型;然后是三大基本结构顺序循环分支,随后的内容几乎都是对数据类型的扩充结构体 指针 链表 数组……

0c49dcf15d9950dda008c7d5c8b217fe.png

那么数据类型是什么?

数据类型就表示它能够存储什么类型的数据,整型有什么用呢?我在什么情况下需要使用一个int x呢?简单,你想获取一个存储单元,用于存储一个整型数据;同理,你定义一个实型是为了获取一个范围那么大,精度那么多的一个实型变量。

那么指针是一种什么类型的变量呢?什么情况下我需要定义一个指针,我要用这个指针存储什么样子的数据?

f6dbb166b25d5bf63504b0eb636b53d4.png

只要有数据类型,就要想:这种类型怎么定义,这种数据类型存储什么形式的数据。

指针,用于保存某个单元的地址,你只要想存储某个单元的地址,你就需要定义一个指针,接着,你存一个地址的目的是什么?是要对一个单元进行间接访问。

访问单元的方式就是两种:直接访问和间接访问。

76adca4d361b2c2abd0463c2eb919c58.png

直接访问就是直接使用变量名,系统就会找到这个变量所在的单元,对他进行或读或写操作。

只要你在表达式使用了变量名,系统就会通过名字找到他所在的单元,找到做什么?或读或写,到底是读还是写,取决于变量名所在的位置,如果出现在赋值号左边,就是写入一个值,如果是打印到屏幕上,就是进行读。

对于间接访问,先要定义一个指针,然后用这个指针指向你想要访问的单元,在指针变量名前面加一个*术语叫做间接运算符,可以把指针指向的内容表示出来。

为什么要使用间接访问?

使用变量名直接访问单元,它不香吗?为什么要引入间接访问,使用间接访问有好处吗?间接访问不是自己给自己找别扭吗?

不是!间接访问有非常重要的作用,主要体现在几个方面:

d382dd2c35da9dd1cc3521159962c1f7.gif

(1)为了在函数中改变主调函数的存储单元,没有间接访问你就不可能实现.

(2)使用间接访问为了动态分配存储单元,从而对单元进行操作,并且在此基础上实现链式存储结构,也就是链表.

(3)为了能够动态分配存储单元,并在此基础上实现动态数组。之前,定义变量,数组是静态数组获得10个存储空间,而数组一旦分配好存储空间,长度就不能变化。但是动态数组不一样,当满了以后可以扩充空间。

(4)通过指针访问一段连续的存储空间

15bcf7255196d8e4621151ad71ab2a92.png

如果使用直接访问,使用变量名就只能访问我单元本身,而使用间接操作有了指针,p指向一个单元,不仅可以通过*p把当前指针指向的单元间接表示,还可以通过指针的移动把存储空间前后任意的存储单元表示出来。

可以说,指针是C语言的灵魂。一个人的C语言基础好不好,很大一部分都看他对于指针的理解程度有多深。所以希望同学们可以对指针的内容反复研习,反复实践。

感谢阅读,学习使人强大。

如果你想更好的提升你的编程能力,成为一个强大的C/C++程序员!不妨和一些志同道合的小伙伴一起学习成长!

C语言C++编程学习交流圈子,关注+私信【C/C++编程】微信公众号:C语言编程学习基地

有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

502218ae4e4230375c12f5fac80e3fed.png
5577a45ef505b7070d22d0b112d9c24d.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值