小樽 C++指针—— (壹) 指针变量
(壹) 指针变量
一、指针的概念与定义
二、给指针变量p赋值
三、指针变量的的+、-运算
四、无类型指针
五、多重指针
C++ (壹) 指针变量
小明想把从李华家借来的书——《CCF中学生计算机程序设计》还给李华,但李华不在家,于是把书放到书架第3层的最右边,并写了一张留言条放在桌上,上面写着:我还你的书放在书架第3层最右边。当李华回来后,看到这张留言条就知道书在哪了。
这张留言条有什么作用呢?
它就相当于一个指针,上面的内容不是书本身,而是书的位置,李华通过留言条(指针)找到了小明还回来的书。
指针针对的是内存空间的位置(地址),地址操作符 <--> &
int a=3; 请问如何找到a值为3的地址位置呢?
#include<iostream>
using namespace std;
int main(){int a=3;cout<<&a<<endl;a=4;cout<<&a<<endl;int b=3;cout<<&b<<endl; return 0;
}
- 可以发现,变量a的地址无关赋值多少!!!
- 不同变量的内存空间地址是不一样的!!!
一、指针的概念与定义
指针定义:变量类型 *p; --》int *p = new(int); //申请一个空间给p,*p内容不确定。
int *p = NULL;
定义了一个指针变量p,p指向一个内存空间,赋值为NULL也就是0,表示特殊的空地址。
二、给指针变量p赋值
p=&a; //把变量a存值的地址给p,注意p是地址,指针*p的值才是3。
炼1.输入两个不同的浮点数,通过指针把最大值+10,并输出。
#include<iostream>
using namespace std;
int main(){
float a,b,*p;cin>>a>>b;if(a>b){p = &a;}else{p = &b;}*p += 10;cout<<*p<<endl; return 0;
}
三、指针变量的的+、-运算
炼2:输入n个整数,使用指针变量访问输出
#include<iostream>
using namespace std;
int main(){int n,a[100],*p;cin>>n;for(int i=0;i<n;i++){ //输入 cin>>a[i];} p = &a[0]; //初始赋值 for(int i=0;i<n;i++){cout<<*p<<" "; p++; // p++指的是对地址+sizeof(int) } return 0;
}
假如指针 p = &a[0];
那么请问 *p+3 是什么意思? *(p+3) 呢?
*p代表值 *p+3代表值+3; *(p+3) p代表地址 ,p+3 代表地址+3
int a[1000];
p = &a[5];
p++ 相当 a[6]
练习:*p+3相当 a[5]+3 ;*p-2相当 a[5]-2 ; *(p-2)相当 a[3] 。
四、无类型指针
有时候我们不确定 指向内容的值类型。所以先定义无类型的指针(void *p),根据后面再强制转换指针类型。
炼3:无指针使用样例
#include<iostream>
using namespace std;
int a=10;
double b=3.5;
void *p;
int main(){p = &a;cout<< *((int *)p)<<endl;p = &b;cout<< *((double *)p)<<endl;return 0;
}
五、多重指针
有一个问题,既然指针可以指向其他类型或强制转换,那指针本身就是一种类型,那谁可以指向指针? 当然是指针的‘指针’,也就是多重指针!!!
炼4:两重指针使用样例。
#include<iostream>
using namespace std;
int a=10, *p;
int **pp;
int main(){p = &a;pp = &p;cout<<a<<"="<<*p<<"="<<**pp<<endl;return 0;
}
相关文章:
小樽 C++指针—— (壹) 指针变量
(壹) 指针变量 一、指针的概念与定义 二、给指针变量p赋值 三、指针变量的的、-运算 四、无类型指针 五、多重指针 C (壹) 指针变量 小明想把从李华家借来的书——《CCF中学生计算机程序设计》还给李华,但李华不在家,于是把书放到书架第3层的最右边…...
java 代码块 万字详解
概述 : 特点 : 格式 : 情景 : 细节 : 演示 : 英文 : //v,新版编辑器无手动添加目录的功能,PC端阅读建议通过侧边栏进行目录跳转;移动端建议用PC端阅读。😂一、概述 :代码块,也称为初始化块,属于类中的成员&…...
杂项-图片隐写
图片隐写的常见隐写方法: 三基色:RGB(Red Green Blue) 图片文件隐写 1.Firework 使用winhex打开文件时会看到文件头部中包含firework的标识,通过firework可以找到隐藏图片。 使用场景:查看隐写的图片文件…...
【高性价比】初学者入门吉他值得推荐购买的民谣单板吉他品牌—VEAZEN费森吉他
“在未知的世界里,我们是一群不疲不倦的行者,执念于真善美,热衷于事物的极致。我们抽丝剥茧,不断地打败自己,超越自己,我们无所畏惧终将成为巨人。”这是VEAZEN吉他官网首页上很明显的一段话,也…...
2023年浙江交安安全员考试题库及答案
百分百题库提供交安安全员考试试题、交安安全员考试真题、交安安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 50.根据《建设工程安全生产管理条例》第65条规定,施工单位有下列()行…...
【新】华为OD机试 - 跳格子(Python)
跳格子 题目 地上共有 N 个格子,你需要跳完地上所有的格子, 但是格子间是有强依赖关系的,跳完前一个格子后, 后续的格子才会被开启,格子间的依赖关系由多组 steps 数组给出, steps[0] 表示前一个格子, steps[1] 表示 steps[0] 可以开启的格子: 比如 [0,1] 表示从跳完第…...
乡村能做社区团购吗?怎么做?我走访调查后发现机会很大
乡村能做社区团购吗?怎么做?我走访调查后发现机会很大#深度触网 #社区团购 #乡村振兴##乡村旅游##县域经济##市场经济##农文旅产业振兴研究院#乡村旅游能带动农产品加工业、服务业、商贸业等相关联产业的发展 乡村能做社区团购吗?怎么做&…...
态路小课堂丨下一代数据中心100G接口第二篇——SFP-DD封装
100G光模块根据封装模式可分为QSFP28、CXP、CFP、CFP2、FCP4、DSFP和SFP-DD等。态路小课堂之前已经大量介绍了相关内容(。 态路小课堂丨下一代数据中心100G接口——DSFP态路小课堂丨100G解决方案-425G NRZ光模块态路小课堂丨什么是100G QSFP28单波光模块?…...
状态栏和导航栏高度获取
/*** 获取导航栏高度*/public static int getNavigationBarHeight(Context context){int navigationBarHeight 0;int resourceId context.getResources().getIdentifier("navigation_bar_height", "dimen", "android")if (resourceId > 0) {…...
插曲:第一桶金 1w 的来由
因为前天跟同事聊天,发现有个比较严重的认知,就是关于赚钱思维。 同事反馈说工作十来年,却没有接过私活,这里话分两头,有可能私 活钱少,但他给我的理由是:私活太麻烦,有时候不敢接&a…...
中国甲基异丁基甲醇行业头部企业市场占有率及排名调研报告
内容摘要 本文调研和分析全球甲基异丁基甲醇发展现状及未来趋势,核心内容如下: (1)全球市场总体规模,分别按销量和按收入进行了统计分析,历史数据2018-2022年,预测数据2023至2029年。 …...
streamlit自定义组件教程和组件开发环境配置
About create your own component: you can follow this tutorial streamlit tutorial 重要!以下步骤都是在教程的基础上更改的。这个教程做的很棒。 Component development environment configuration: 根据文章 https://streamlit-com…...
Windows CMD常用命令
目录 【打开CMD命令】 【网络测试命令】 ipconfig------查看本机网卡信息 ping------测试网络是否通畅 tracert------追踪路由,也可以用来查看网络连通性 telnet------查看目的主机ip的端口号是否开放 tcping------查看目的主机ip的端口号是否开放 【关于路…...
ChIP-seq 分析:数据比对(3)
读取 reads(二者含义相同,下文不做区分)1. ChIPseq reads 比对 在评估读取质量和我们应用的任何读取过滤之后,我们将希望将我们的读取与基因组对齐,以便识别任何基因组位置显示比对读取高于背景的富集。 由于 ChIPseq…...
并非从0开始的c++之旅 day2
并非从0开始的c之旅 day2一、变量1、 变量名的本质二、程序的内存分区模型1、内存分区运行之前运行之后三、栈区注意事项四、堆区1、堆区使用2、堆区注意事项五、全局变量静态变量1、静态变量2、全局变量六、常量1、全局const常量2、局部const常量七、字符串常量一、变量 既能…...
Linux进阶(Shell编程学习一)
由于shell脚本在java项目运维方面极其重要,比如服务的启动脚本,日志的分割脚本,文件的管理脚本大多都是shell脚本去实现的。所以作为java开发者懂linux的基本命令,会基本的shell编程是必要的。 Shell 是一个用 C 语言编写的程序&…...
sql 优化
sql 优化1. mysql 基础架构1.1 mysql 的组成2. mysql 存储引擎2.1MyISAM2.2 InnoDB2.3 MyISAM 和 InnoDB 的对比3. mysql 索引3.1 Hash 索引3.2 B-Tree 索引3.3 BTree 索引3.4 R-Tree 索引3.5 Full-Text 索引4. sql 优化4.1 避免 select *4.2 避免在where子句中使用or来连接条件…...
第7篇:Java的学习路径
目录 1、Java学习主要内容概览 1.1 Java基础 1.2 数据库技术 1.3 动态网页技术 1.4中间件技术...
对抗生成网络GAN系列——Spectral Normalization原理详解及源码解析
🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊专栏推荐:深度学习网络原理与实战 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍🏼、…...
Solon2 开发之插件,一、插件
Solon Plugin 是框架的核心接口,简称“插件”。其本质是一个“生命周期”接口。它可让一个组件类参与程序的生命周期过程(这块看下:《应用启动过程与完整生命周期》): FunctionalInterface public interface Plugin {…...
使用nvm管理node
nvm介紹 node的版本管理器,可以方便地安装&切换不同版本的node 我们在工作中,可以会有老版本的node的项目需要维护,也可能有新版本的node的项目需要开发,如果只有一个node版本的话将会很麻烦,nvm可以解决我们的难点…...
Linux
第一章 Linux 1.1 计算机硬件软件体系 冯诺依曼 (数学家,计算机之父) 冯诺依曼体系 计算机的指令和数据都是二进制存储,并且存放到一起程序和指令都是顺序执行的计算机硬件由输入,输出,存储,运算器与控制器组成 输入设备 比如:键盘,鼠标等. 输出设备 打印机输出࿰…...
GB28181-2022注册注销基本要求、注册重定向解读和技术实现
规范解读GB28181-2022注册、注销基本要求相对GB28181-2016版本,做了一定的调整,新调整的部分如下:——更改了注册和注销基本要求(见 9.1.1,2016 年版的 9.1.1)。1.增加对NAT模式网络传输要求,宜…...
2023年二建报考条件是什么?考试考什么?来考网
2023年二建报考条件是什么?考试考什么?来考网 2023年二建报考条件是什么?考试考什么?来考网 二建报考条件: 1、中专及以上学历 2、工程或工程经济类专业 3、从事施工管理工作满2年 二建考试科目: 《建设工…...
vite+vue3搭建的工程热更新失效问题
前段时间开发新的项目,由于没有技术上的限制,所以选择了vitevue3ts来开发新的项目,一开始用vite来开发新项目过程挺顺利,确实比vue2webpack的项目高效些(为什么选择vite),但是过了一段时间后,不…...
Hazel游戏引擎(001-003)
文章目录前言001.游戏引擎介绍002.什么是游戏引擎003设计我们的游戏引擎本人菜鸟,文中若有代码、术语等错误,欢迎指正 前言 我写的项目地址 https://github.com/liujianjie/GameEngineLightWeight(中文的注释适合中国人的你) 关于…...
耗时一个星期整理的APP自动化测试工具大全
在本篇文章中,将给大家推荐14款日常工作中经常用到的测试开发工具神器,涵盖了自动化测试、APP性能测试、稳定性测试、抓包工具等。 一、UI自动化测试工具 1. uiautomator2 openatx开源的ui自动化工具,支持Android和iOS。主要面向的编程语言…...
算法设计与分析(屈婉玲)视频笔记day2
序列求和的方法 数列求和公式 等差、等比数列与调和级数 求和的例子 二分检索算法 二分检索运行实例 2 n 1个输入 比较 t 次的输入个数 二分检索平均时间复杂度 估计和式上界的放大法 放大法的例子 估计和式渐近的界 估计和式渐近的界 小结 • 序列求和基本公式:…...
14-PHP使用过的函数 131-140
131、session_unset 释放当前会话注册的所有会话变量。 没有返回值。 132、session_destroy 销毁当前会话中的全部数据, 但是不会重置当前会话所关联的全局变量, 也不会重置会话 cookie。 如果需要再次使用会话变量, 必须重新调用 session_…...
【第39天】实现一个冒泡排序
本文已收录于专栏 🌸《Java入门一百例》🌸 学习指引 序、专栏前言一、冒泡排序一、【例题1】1、题目描述2、解题思路3、模板代码三、推荐专栏序、专栏前言 本专栏开启,目的在于帮助大家更好的掌握学习Java,特别是一些Java学习者难以在网上找到系统地算法学习资料帮助自身…...
那些网站是asp做的/网站流量数据
linux下一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql敲回车后会提示输入密…...
book wordpress主题/设计公司网站
2019独角兽企业重金招聘Python工程师标准>>> Function.apply(object,arr); object是替换Function类中的this对象,即object具有function的功能; arr是传递给function的参数数组; apply在数组中的使用: 1.数组中取最大值: var arr[1…...
jsp怎样做网站/seo图片优化的方法
使用Eclipse在线安装的方式:Help-->Install New Software 地址输入:http://m2eclipse.sonatype.org/sites/m2e/,列表中打勾勾上后点击Next 安装maven插件时遇到了如下的错误: Cannot complete the install because one or mor…...
wordpress多语言无效/百度推广登陆首页
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid2865 题意:n个小圆组成的正n边形,中间有一个大圆。有木棍相连的两个圆不能有相同的颜色,旋转后相同视为相同的方案,求着色方案数。 思路:中间选一种颜…...
做网站怎么做推广/推广赚钱项目
Currently running services:Binder.Pged-------------------显示powerGenie的状态DockObserver-----------------显示当前dock状态或者set state <value> resetHsmStatSurfaceFlinger-----------------表面处理accessibility------------------可访问性account-------…...
贵州网站建设维护/百度网盘在线登录入口
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇来源丨小集(ID:zsxjtip)苹果在 10 月 27 号 发布了 Xcode 13.2 beta 版本,这个版本最受开发者欢迎的无疑是 Swift Conc…...