指针分析(一)

简介:

指针,一直是C语言最难的话题,不通指针,不敢说自己熟悉C语言。那么就按照我个人的理解来说一下指针吧,如果还看不懂,那就没办法了,因为我的理解程度能够帮你以最清晰的角度去理解指针:

在32位操作系统下,不管是什么类型的指针,指针变量在该环境下占4个byte。

还要区分一个概念:野指针,什么是野指针?也就是没有具体的指向。

比如:

Int *p ; *p =100 ;

因为指针p没有分配相应的内存,所以给指针赋值,可能会引发段错误、

还有一种情况: int *p = NULL; *P = 100 ;这种情况一定会发生段错误,因为指向的地址编号为0,代表的是一个空指针。我们不能给空指针赋值,因为空指针没有地址,解引用必然会引发段错误。


好,那我们开始来分析一个例子。

 

&:取地址符

*:引用符

 

例如:

Int  a = 1 ;

Int  *p ;

P = &a ;


直接访问地址那就是直接访问,比如上面这种形式p = &a ; 如果说我定义一个**q ,去通过p再访问到a的值,那么**q这样的指针就是引用,属于间接访问的形式。 

画幅图来看看就清楚了:

 


由上图可以知道:

 

目录
相关文章
|
16天前
|
搜索推荐 C语言 C++
【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析&&模拟实现3
【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析&&模拟实现
|
5月前
进阶指针笔试题分析!!!
进阶指针笔试题分析!!!
|
5月前
|
机器学习/深度学习 存储 人工智能
【网安AIGC专题11.8】论文15 ChatGPT在软件工程中的全面作用:程序语法(AST生成、表达式匹配) 静态行为、动态分析(数据依赖和污点分析、指针分析) 提示设计(角色提示、指令提示)
【网安AIGC专题11.8】论文15 ChatGPT在软件工程中的全面作用:程序语法(AST生成、表达式匹配) 静态行为、动态分析(数据依赖和污点分析、指针分析) 提示设计(角色提示、指令提示)
73 0
|
9月前
力扣82删除排序链表中的重复元素 II:思路分析+代码实现+方法总结(三指针法&快慢指针法【双指针】&递归法)
力扣82删除排序链表中的重复元素 II:思路分析+代码实现+方法总结(三指针法&快慢指针法【双指针】&递归法)
42 0
|
9月前
力扣83删除排序链表中的重复元素:代码实现+思路分析+方法总结(快慢指针法&递归)
力扣83删除排序链表中的重复元素:代码实现+思路分析+方法总结(快慢指针法&递归)
44 0
|
9月前
|
Sentinel
力扣19删除链表的倒数第 N 个结点:思路分析+图文全解+方法总结(快慢指针法&递归法)+深入思考
力扣19删除链表的倒数第 N 个结点:思路分析+图文全解+方法总结(快慢指针法&递归法)+深入思考
77 0
通过代码加解析的方式带领大家分析 :数组与指针的关系
通过代码加解析的方式带领大家分析 :数组与指针的关系
59 0
通过代码加解析的方式带领大家分析 :数组与指针的关系
|
编译器
指针与数组的分析
指针与数组的分析
59 0
|
Python
408.有效单词缩写 Python指针思路分析与细节解析!
408.有效单词缩写 Python指针思路分析与细节解析!
122 0
|
编译器 C语言 C++
【C 语言】数组作为参数退化为指针问题 ( 问题描述 | 从编译器角度分析该问题 | 出于提高 C 语言执行效率角度考虑 | 数组作为参数的推荐方案 )
【C 语言】数组作为参数退化为指针问题 ( 问题描述 | 从编译器角度分析该问题 | 出于提高 C 语言执行效率角度考虑 | 数组作为参数的推荐方案 )
135 0
【C 语言】数组作为参数退化为指针问题 ( 问题描述 | 从编译器角度分析该问题 | 出于提高 C 语言执行效率角度考虑 | 数组作为参数的推荐方案 )

热门文章

最新文章