【C 语言】指针 Two 之 [定义指针变量、有效声明指针、使用指针、指针变量初始化]
🚩write in front🚩
🔎Hello,大家好我是泽 En,一起共同学习,多多指教(●'◡'●)🔎
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🖊
📢2021 年度博客之星物联网与嵌入式开发 TOP5,2021 博客之星 Top100 阿里云专家博主^星级博主 CSDN⇿掘金⇿InfoQ[创作者]
⚔ 定义指针变量
对指针变量的定义包括 ③ 个内容↓
指针类型说明,即为变量为一个指针变量。
指针变量名。
变量值(指针)所指向的变量的。
定义指针变量与定义普通变量非常类似,不过要在变量名前面加星号 (*) 格式如下所示↓
*datatype name; 或者 *datatype name = value;
解释: 表示一个指针变量,datatype 表示该* 指针变量所指向的数据的类型。如↓
表示 p 这是一个指针变量,变量名即为指针的变量名,类型说明符表示本指针变量所指向的变量的数据类型
p 是指向 int 类型数据的指针变量,至于究竟指向哪一份数据,应该由赋予它的值决定。如下↓代码所示。
🔥注意:①个指针变量只能是指向同类型的变量。
(1) a 在内存中要分配空间 4 个字节。
(2) 取出 a 的地址赋值给指针变量 papa 说明执行对象是 int 类型。
🔥注意→取地址 a 并不会拿出 4 个字节的地址,只会拿出第一个字节地址。
1 字节 = 8 比特位, 按照十六(0x)进制的方式来的。
💣有效声明指针
有效指针,顾名思义就是可以有效的在程序当中运行不会出现错误的指针类型 😐
🗡使用指针
使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。这些是通过使用一元运算符(*) 来返回位于操作数所指定地址的变量的值。下面的实例涉及到了这些操作如下↓
运行结果🖊
a = 20
b = 30
知识内容→上面的结果也是通过指针变量取得数据, 然后再通过解引用(*) 操作符改变取地址原来的值。 指针的解引用可以获取地址赋值给指针变量从而获取数值的大小(这个是初学者有时候不明白的地方,不懂可以多看几遍或者自己上手代码进行调试)
💣指针变量初始化
指针变量初始化是非常重要的,很多初学指针的小伙伴们很容易就会把指针没有进行指针变量的初始化。
如下代码所示↓
🔥注意→上述代码是错误的,在打印 printf 的时候,p 并没有对其进行解引用操作(找不到 p 的数值) 此时 p 是找不到 a 的地址的,也可以说并没有指向 &a。
如下代码所示↓
此时,对其中打印 printf 进行解引用操作找到 a 的地址。运行结果为: *p = 10
🔥注意→在使用指针的时候,是必须要给指针变量进行初始化的,不然就会是野指针。关于野指针是什么这个在后面会说的。
版权声明: 本文为 InfoQ 作者【泽En】的原创文章。
原文链接:【http://xie.infoq.cn/article/99ab76cd1f51488ad86dc7451】。文章转载请联系作者。
评论