C语言之指针初阶(1)(二)

简介: C语言之指针初阶(1)

下图是按住F10调试起来给大家有一些疑惑的地方做了一些注释,希望大家能够理解

我们将*pa赋值为0,可以看出全部改成了0

当我们把指针类型改成了字符指针,大家有没有发现我们只修改了1个字节,这是为什么呢?

这是因为指针类型决定了解引用操作的权限,看下图

下面给大家讲解指针+-整数

指针+-一的细节已经给出大家代码和讲解了,希望大家能够理解

下面是一个很有意思的知识点:野指针

概念:野指针就是指针指向的位置是不可知的  随机的  不正确的  没有明确限制的

野指针第一种情况

指针未初始化

野指针第二种情况

指针越界访问

当P指向超过数组范围的位置时,P就已经越界访问了,这就是第二钟野指针的情况

第三种情况

局部变量的作用域进入函数创建,出来函数就销毁,但是return  &a把a的地址带回去了,*p又去访问,则就是非法访问

image.gifimage.gif

我们必须对指针进行严格地初始化,养成良好的代码习惯

例如,指针p使用完了之后需将其置为NULL(空)

接下来是第四个部分

指针的第一种和第二种运算已经给大家画出图了,大家自行阅读,理解起来还是比较容易

最后一种运算

对比简化前的代码简化后的代码,大家对比起来看,第二种代码就发生了错误

本章终,希望大家多多支持,下一博客我们讲解后面3个部分的知识,大家先复习一下前面讲过的知识

相关文章
|
18天前
|
安全 C语言
【C语言】如何规避野指针
【C语言】如何规避野指针
20 0
|
20天前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
8天前
|
C语言
c语言指针总结
c语言指针总结
14 1
|
14天前
|
存储 程序员 C语言
【C 言专栏】C 语言指针的深度解析
【4月更文挑战第30天】C 语言中的指针是程序设计的关键,它如同一把钥匙,提供直接内存操作的途径。指针是存储其他变量地址的变量,通过声明如`int *ptr`来使用。它们在动态内存分配、函数参数传递及数组操作中发挥重要作用。然而,误用指针可能导致错误,如空指针引用和内存泄漏。理解指针的运算、与数组和函数的关系,以及在结构体中的应用,是成为熟练 C 语言程序员的必经之路。虽然挑战重重,但掌握指针将增强编程效率和灵活性。不断实践和学习,我们将驾驭指针,探索更广阔的编程世界。
|
15天前
|
算法 搜索推荐 程序员
C语言中的函数指针和回调函数
C语言中的函数指针和回调函数
10 2
|
18天前
|
存储 编译器 C语言
【C语言】初步解决指针疑惑
【C语言】初步解决指针疑惑
7 0
|
19天前
|
存储 C语言
指针深入解析(C语言基础)带你走进指针,了解指针
指针深入解析(C语言基础)带你走进指针,了解指针
|
20天前
|
C语言 C++
C语言:指针运算笔试题解析(包括令人费解的指针题目)
C语言:指针运算笔试题解析(包括令人费解的指针题目)
|
1月前
|
存储 程序员 编译器
爱上C语言:指针很难?来来来,看看这篇(基础篇)
爱上C语言:指针很难?来来来,看看这篇(基础篇)
|
21天前
|
安全 C语言
指针与字符串:C语言中的深入探索
指针与字符串:C语言中的深入探索
17 0