计算机二级指针,C语言——二级指针

二级指针的概念

首先任何值都有地址,一级指针的值虽然是地址,但这个地址做为一个值亦需要空间来存放,是空间就具有地址,这就是存放地址这一值的空间所具有的地址,二级指针就是为了获取这个地址,

一级指针所关联的是其值(一个地址)名下空间里的数据,这个数据可以是任意类型并做任意用途,但二级指针所关联的数据只有一个类型一个用途,就是地址,指针就是两个用途提供目标的读取或改写,那么二级指针就是为了提供对于内存地址的读取或改写

指针的表现形式是地址,核心是指向关系指针运算符“*”的作用是按照指向关系访问所指向的对象.如果存在A指向B的指向关系,则A是B的地址,“*A”表示通过这个指向关系间接访问B.如果B的值也是一个指针,它指向C,则B是C的地址,“*B”表示间接访问C如果C是整型、实型或者结构体等类型的变量或者是存放这些类型的数据的数组元素,则B(即C的地址)是普通的指针,称为一级指针,用于存放一级指针的变量称为一级指针变量。

A(即B的地址)是指向指针的指针,称为二级指针,用于存放二级指针的变量称为二级指针变量.根据B的不同情况,二级指针又分为指向指针变量的指针和指向数组的指针.

二级指针的分类

指向指针变量的指针

在如上的A指向B、B指向C的指向关系中,如果A、B、C都是变量,即C是普通变量,B是一级指针变量,其中存放着C的地址,A是二级指针变量,其中存放着B的地址,则这3个变量分别在内存中占据各自的存储单元,它们之间的相互关系下图所示,相互之间的前后位置关系并不重要.此时,B是一级指针变量,B的值(即C的地址)是一级指针数据;A是二级指针变量,A的值(即B的地址)是二级指针数据.

指向数组的指针

在C语言中,数组与其它变量在使用上有很大的不同.无论是字符型、整型、实型变量,还是结构体类型或者指针类型的变量,语句中出现变量名都代表对该变量所在内存单元的访问,变量名代表整个变量在内存中的存储单元,可以向该变量赋值,也可以从中取出数据使用.但是定义一个数组之后,数组名并不代表整个数组所占据的内存单元,而是代表数组首元素的地址.

二级指针例子:

int

*q; //定义一个一级指针变量,它指向一个普通变量(即它存的是一个变量的地址)

int

**p; //定义一个二级指针变量,它指向一个指针变量(它存的也是一个变量地址,只不过是一个指针变量的地址)

int

s;

q =

&s; //q中存的是整型变量s的地址,所以q是一级指针

p =

&q; //p中存的是一级指针q的地址,所以p是二级指针

例子2:

# include

void f(int ** q);

int main(void)

{

int i =

9;

int * p =

&i;// int *p; p

= &i;

printf("%p\n", p);

f(&p);

printf("%p\n", p);

return 0;

}

void f(int ** q)

{

*q = (int

*)0xFFFFFFFF;// 这里是更改了p的值,与i无关,p不再指向i

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534047.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为 虚拟键盘_华为mate30 pro虚拟机械键盘特有体验,虽是虚拟,但却感受逼真...

华为Mate30 pro已于26日在国内正式发布了。此外,根据了解华为Mate30系列现在已经突破了5亿的销售额。看来,华为的这个下半年旗舰手机非常受欢迎啊。华为Mate30系列现在在国内已经发布了,其整体感官看上去与海外的没有多大的区别。其实&#x…

python 如何快速判断列表是否相同_Python-检查列表中的所有元素是否相同

小编典典 通用方法: def checkEqual1(iterator): iterator iter(iterator) try: first next(iterator) except StopIteration: return True return all(first rest for rest in iterator) 单线: def checkEqual2(iterator): return len(set(iterator)…

计算机有什么著名基金经理排名,百万年薪的基金经理,都是什么专业出身?!...

有人会说了“小哔君你四不四撒!基金经理肯定是金融专业出身的咯?不然嘞?”但事实的真相是许多基金经理都并非科班出身这要从基金经理的晋升机制说起了!如下图基金经理都是从研究员做起的!那么问题来了,如何…

遍历children_589. N叉树的前序遍历

589. N叉树的前序遍历给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个 3叉树 :返回其前序遍历: [1,3,5,6,2,4]。说明: 递归法很简单,你可以使用迭代法完成此题吗?题解:既然是树的遍历,那么一共就是两种思路&a…

计算机护理职称考试报名时间2015,护理职称考试怎么报名?

护理职称考试报名流程:网上预报名-现场确认-报名缴费。护理职称考试网上预报名及网上缴费均在中国卫生人才网,护理职称考试报名现场确认则按属地原则在单位或户籍所在地的卫计局。护理职称考试报名流程详解一、网上预报名考生需在规定的时间内登录中国卫…

怎么用python编程前二n-1项的等差数列的和_python 等差数列末项计算方式

等差数列末项计算 题目内容: 给出一个等差数列的前两项a1,a2,求第n项是多少 可以使用以下语句实现非负整数n的输入: nint(input()) 输入格式: 三行,包含三个整数a1,a2,n 输出格式: 一…

图纸中bs是什么意思_园建施工图中WL、BL、FL、TW、SL分别是什么意思

展开全部WL是水面标高来BL池底自标高FL地面标bai高TW墙顶标高SL 土面标高其他其他一些常du用的注解:PA种植区FF室内楼zhi地面标FG室外软景完成dao面标高BC路沿底标高BS踏步底标高BR栏杆扶手底标高TR栏杆扶手顶标高SL结构板顶标高扩展资料本书围绕园林工程建设主题&a…

计算机未显示移动硬盘,电脑不显示移动硬盘怎么办_移动硬盘已连接不显示解决教程...

最近有很多小伙伴咨询小编,电脑不显示移动硬盘怎么办,怎么设置才能恢复呢?其实操作内容很简单,尝试删除你的USB3.0可扩展主机控制器,再扫描硬件改动,今天就由小编来告诉你,移动硬盘已连接不显示的解决方法。…

八个角最多可以把平面分成多少部分?_一个空间最多能被分成几块?

相信大家在小学奥数中都遇到这样一个问题:4条直线最多能将平面分成几部分?这个问题并不能难倒我们,但是如果将问题改为:4个平面最多能将空间分为几部分?这下子我们可能就要放弃了。为了解决这个问题,今天我…

ios 不被遮挡 阴影_IOS开发之Bug--iOS7View被导航栏遮挡问题的解决

在实际开发中,遇到在UITextView的frame等于当前控制器的View的frame的情况下,然后运行的时候,发现控制器的Frame的高度y值会从导航条的位置64变化到0。导致UITextView的frame也跟着一起移动。这个问题本质其实就是iOS7View被导航栏遮挡问题&a…

破坏计算机信息系统功能罪,破坏计算机信息系统罪

破坏计算机信息系统罪2010年05月05日19:42法律咨询 我要评论一、概念&nbsp&nbsp&nbsp&nbsp破坏计算机信息系统罪(刑法第286条),是指违反国家规定,对计算机信息系统功能或计算机信息系统中存储、处理或者传输的数据和应用程序进行破坏…

python解析html xml最好的模块_Python HTML/XML解析器BeautifulSoup(爬虫解析器)

The Dormouses storyOnce upon a time there were three little sisters; and their names were Elsie, Lacie and Tillie; and they lived at the bottom of a well....

ffmpeg运行在服务器上,FFMPEG安装在服务器上

我有一个在线服务器(共享主机方案)在Linux中,我不知道很多关于Linux的东西,我正在尝试安装ffmpeg。FFMPEG安装在服务器上当安装正在运行我得到这个消息,并停止安装...Installation of MPlayer-1.0rc1.tar.bz2 ....... started% Total % Recei…

python csv pandas_Python Pandas——Read_csv详解

目前最常用的数据保存格式可能就是CSV格式了,数据分析第一步就是获取数据,怎样读取数据至关重要。 本文将以pandas read_csv方法为例,详细介绍read_csv数据读取方法。再数据读取时进行数据预处理,这样不仅可以加快读取速度&#x…

python3兼容python2 print_python 字符串 r raw Python2 和 Python3 的区别及兼容技巧

前言最近 Python 之父 Guido van Rossum(龟爷)终于在 Python 官方邮件组落实了 Python 2.7 的终焉之日(EOL)。说的是 Python 2.7 的 EOL 日期最终确定为 2020 年 1 月 1 日,之后不会有任何更新,包括源码的安全补丁。所以兼容Python3已经可以说非常必要了…

nginx搭建文件服务器脚本,基于docker搭建nginx文件服务器的方法步骤

1.在本机新建配置文件docker_nginx.confserver {listen 7070;server_name localhost;charset utf-8;location /files {#在docker内nginx的目录alias /home/files;expires 1d;allow all;autoindex on;}2.启动命令docker run --name nginx -d -p 7070:7070 -v D:\dev\nginx-1.13.…

python运行不了指令_python不是内部命令或外部命令,也不是可执行程序解决方法...

简述 常见于新手初装python,然后忘记勾选设置环境变量(PATH),或者没有重启,然后运行教程中的python命令时出现。 有两个解决方法:1.设置环境变量,然后重启。 2.新建命令。 如果你打算同时安装多个python版本&#xff0…

快手通过标签添加你什么意思_快快手粉丝数旁边的关注是什么意思手通过关注页添加是什么意思...

Aauto Speeter通过关注页面添加的内容意味着,如果你已经在关注遇到了其他人,并且他们对你感兴趣,他们将从这个关注页面添加关注,并成为你的粉丝。事实上,得到关注和粉丝并不是特别困难。如果主要发表的内容有意思&…

ovation系统服务器安装,Ovation系统介绍.ppt

Ovation系统介绍热控调试关于OVATION系统的一点简介;目录;Ovation系统的结构及硬件;典型的OVATION系统结构;Primary;网线插拔后需重启控制器,否则显示橙色,failmode报警;每扇门都有风扇;;I/0 子系统结构 ; I/O 模件; I/O 卡指示 ;模件种类减少&#xff0…

东京战纪服务器维护中,东京战纪7月21维护公告 当前测试进度介绍

东京战纪当前的测试进度已经有了很大的进步,接下来小编就跟大家一起看看测试期间对玩家给大家的报告吧。亲爱的喰种和CCG搜查官们7月19日中午12:00,我们怀着紧张又忐忑的心情开启了《东京战纪》官网限量删档技术测试。大家对《东京喰种》IP的热爱和对《东…