数学系C++(六七)

目录

* &指针与地址

void指针

指针可以等于:

const

指向常量的指针 const int *px

常指针 int * const px

指向常量的常指针const 类型标识符 * const 指针名

指针加减:

指针恒等式

函数×指针【待续】

指针型函数:

指向函数的指针:指向函数存储的首地址

引用与指针

内存分配【待续】

输入出


* &指针与地址

声明指针:int *px ;

给指针赋值:int x;px=&x; (指针的变量名只能等于地址,*表示取后面地址指向的值)

等价:x=3  《=》 *px=3(*+地址 也可以改变 地址所指向的值)

void指针

void 类型的指针

 void 类型的指针可以存放任何类型数据的地址,即指向任何类型的对象

 不允许直接通过 void 指针来访问其目标对象!

 若需访问 void 类型指针的目标对象,必须通过显式类型转换指明目标对象的类型

指针可以等于:

 指针可能的取值

(1) 空指针:0, NULL 或值为 0, NULL 的常量

(2) 类型匹配的对象的地址

(3) 同类型的另一有效指针

(4) 类型匹配的对象的前、后地址(相对位置)

int x[3] = {1,2,3};int * px = &x[0];int * py = &x+1;

int * pz;pz = 0; // OK

pz = NULL; // OK

没有初始化或赋值的指针是无效的指针;引用无效指针会带来难以预料的问题! 

const

指向常量的指针 const int *px

const 类型标识符 * 指针名

const对象只能使用const指针

const指针可以指向非const对象

但是修改非const对象的值不能通过const指针进行修改

常指针 int * const px

类型标识符 * const 指针名

px一旦赋值,就不能修改

int * const px=a;就不能再px=b了

指向常量的常指针const 类型标识符 * const 指针名

指针不能改,也不能通过指针改变量值

指针加减:

每次运算  :1=1*每个变量所占空间

指针恒等式

int a【n】;int *pa=a;

2dim:

指针p

函数×指针【待续】

以地址方式传递数据,形参和实参指向共同的内存地址,是同一个数据

形参是指针时,实参可以是指针或地址

可以传递函数代码的首地址,即将函数作为参数

函数间需要传递大量数据(数组)时,通常是利用指针传递数据的首地址 

指针型函数:

返回值为【全局变量的】指针or【全局变量的】地址

指向函数的指针:指向函数存储的首地址

int Gcd(int x, int y);
int Lcm(int x, int y);
int (* pf)(int, int); // 声明函数指针
pf=Gcd; // pf 指向函数 
Gcdcout << "最大公约数:" << pf(a,b) << endl;

 可以象使用函数名一样使用函数指针

引用与指针

► 引用是变量的别名,只针对变量,函数没有引用

► 引用必须初始化,且不能修改

► 用引用能实现的功能,用指针都能实现

► 传递大量数据时(数组),建议使用指针

int a = 3;
int * pa = &a; // 指针
int & ra = a; // 引用(取别名)

内存分配【待续】

new

delete,new完了一定要delete

引用和指针有何区别?

给指针赋值=地址,引用赋值=自身

改变变量:*pa=5《=》&pa=5 

初始化是不同的:

引用是一个变量的别名,它必须在定义时初始化,并且一旦初始化之后就不能再指向其他变量。
指针是一个变量,用来存储另一个变量的地址。指针可以在任何时候被重新赋值,以指向不同的变量

-----------------------------以上为第六讲。

输入出

文件输入出等——————————以上为第七讲。

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

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

相关文章

大数据之路 读书笔记 Day4 数据同步

回顾&#xff1a; Day 3 总结了无限客户端的日志采集 大数据之路 读书笔记 Day 3Day 2总结了浏览器端的日志采集 大数据之路 读书笔记 Day 2 数据同步 阿里数据体系中的数据同步&#xff0c;主要指的是在不同的数据存储系统之间进行数据的传输与更新&#xff0c;以保证数据的一…

reactor和proactor模型

Reactor模型是非阻塞的同步IO模型。在主线程中也就是IO处理单元中&#xff0c;只负责监听文件描述符上是否有事件发生&#xff0c;有的话就立即将事件通知工作线程&#xff0c;将socket可读可写事件放入请求队列&#xff0c;交给工作线程处理。 总而言之就是主线程监听有事件发…

apk反编译修改教程系列-----修改apk 解除软件限制功能 实例操作步骤解析_3【二十二】

在前面的几期博文中有过解析去除apk中功能权限的反编译步骤。另外在以往博文中也列举了修改apk中选项功能权限的操作方法。今天以另外一款apk作为演示修改反编译去除软件功能限制的步骤。兴趣的友友可以参考其中的修改过程。 课程的目的是了解apk中各个文件的具体作用以及简单…

【密码学】什么是密码?什么是密码学?

一、密码的定义 根据《中华人民共和国密码法》对密码的定义如下&#xff1a; 密码是指采用特定变换的方法对信息等进行加密保护、安全认证的技术、产品和服务。 二、密码学的定义 密码学是研究编制密码和破译密码的技术科学。由定义可以知道密码学分为两个主要分支&#x…

69.WEB渗透测试-信息收集- WAF、框架组件识别(9)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;68.WEB渗透测试-信息收集- WAF、框架组件识别&#xff08;8&#xff09; 有无waf存在&am…

GESP C++一级真题

PDF图片1-7 点赞❤️关注&#x1f60d;收藏⭐️ 互粉必回&#x1f64f;&#x1f64f;&#x1f64f;

DPDK源码分析之(1)libmbuf模块

DPDK源码分析之(1)libmbuf模块 Author&#xff1a;OnceDay Date&#xff1a;2024年7月2日 漫漫长路&#xff0c;有人对你笑过嘛… 全系列文档可参考专栏&#xff1a;源码分析_Once-Day的博客-CSDN博客 参考文档&#xff1a; DPDK downloadGetting Started Guide for Linux…

CGAL计算凸包(OSG进行可视化)

目录 一、什么是凸包 二、运行步骤 1、安装依赖项 2、编译osg库 3、运行代码 4、运行截图 一、什么是凸包 凸包是计算几何中的一个基本概念,用来描述一个点集的最小凸包围形。具体来说,给定一个点集,凸包是包含该点集的最小凸多边形或凸多面体。 二维凸包:在二维平面…

算法-常见数据结构设计

文章目录 1. 带有setAll功能的哈希表2. LRU缓存结构3. O(1)时间插入删除随机(去重)4. O(1)时间插入删除随机(不去重)5. 快速获取数据流中的中位数6. 最大频率栈7. 全O(1)结构8. LFU缓存结构 本节的内容比较难, 大多是leetcodeHard难度级别的题目 1. 带有setAll功能的哈希表 哈希…

js计算两个日期直接的间隔天,2018/12/14到2017/11/10有多少天

const startDate new Date(2017-11-10)const endDate new Date(2018-12-14)const diffTime Math.abs(endDate - startDate)const diffDays Math.ceil(diffTime / (1000 * 60 * 60 * 24))console.log(diffDays) // 输出天数差 人工智能学习网站 https://chat.xutongbao.top…

VSCode神仙插件——Codeium (AI编程助手)

1、安装&登录插件 安装过程中会让你登录Codeium账户&#xff0c;可以通过Google账户登录&#xff0c;或者可以注册一个Codeium账户&#xff08;如果没有弹出让你登录账户的界面&#xff0c;可以等安装结束后在右下角找到登录的地方&#xff09; 右下角显示如下图所示&#…

【ubuntu中关于驱动得问题】—— 如何将nouveau驱动程序加入黑名单和安装NVIDIA显卡驱动

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、nouveau驱动程序加入黑名单二、安装NVIDIA显卡驱动总结 前言 NVIDIA显卡驱动是用于支持和优化NVIDIA显卡在计算机系统中运行的关键软件组件。该驱动程序能…

【每日一练】python算数练习题(函数.随机.判断综合运用)

""" 幼儿园加减法练习题 答对点赞表情&#xff0c;答错炸弹表情 表情随机出现 如果全答对有大奖 """ import random df0 #定义答对函数 def dd():global dfdf10bq["&#x1f339;&#x1f339;&#x1f339;","&#x1f389;&…

系统测试-测试方法学习

目录 &#xff08;1&#xff09;等价类 &#xff08;2&#xff09;边界值 &#xff08;3&#xff09;正交&#xff1a;&#xff08;只用于确定排列组合&#xff0c;不确定具体内容&#xff09; (4)判定表法 &#xff08;5&#xff09;流程分析法 &#xff08;6&#xff0…

Django 查询数据

模型参考上一章内容&#xff1a; Django QuerySet对象&#xff0c;filter()方法-CSDN博客 查询数据可以通过以下方法&#xff1a; Book.objects.all() Book.objects.filter() Book.objects.get() 1&#xff0c;添加视图函数 Test/app11/views.py from django.shortcuts im…

昇思25天学习打卡营第12天|MindSpore-基于MobileNetv2的垃圾分类

基于MobileNetv2的垃圾分类 主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入,对图像中的垃圾物体进行检测,并且将检测结果图片保存到文件中。 1、实验目的 了解熟悉垃圾分类应用代码的编写(Python语言);了解Linux操作系统的基本使用;掌握atc命令进行模型…

Spring学习05-[AOP学习-AOP原理和事务]

AOP原理和事务 AOPAOP底层原理比如下面的代码案例手动模拟AOP 动态代理详解JDK动态代理具体实现 AOP AOP底层原理 当实现了AOP,Spring会根据当前的bean创建动态代理(运行时生成一个代理类) 面试题&#xff1a;为什么执行方法的时候&#xff0c;会执行切面里的通知方法&#xf…

华为机试HJ40统计字符

华为机试HJ40统计字符 题目&#xff1a; 想法&#xff1a; 统计上述题目中的四种字符的个数存入字典中&#xff0c;按指定顺序进行输出 input_str input()str_dict {"alpha": 0, "space": 0, "number": 0, "others": 0}for i in …

ZYNQ-LINUX环境C语言利用Curl库实现HTTP通讯

前言 在Zynq-Linux环境中&#xff0c;需要使用C语言来编写APP时&#xff0c;访问HTTP一般可以使用Curl库来实现&#xff0c;但是在Zynq的SDK中&#xff0c;并没有集成该库&#xff0c;在寻找了很多资料后找到了一种使用很方便的额办法。这篇文章主要记录一下移植Curl的过程。 …

【2024_CUMCM】数据预处理、数据分析、数据可视化

目录 2023-c题-问题1 问题分析 偏度 峰度 箱线图 读图 重采样、降采样、升采样 重采样 降采样 升采样 解题代码 2023-c题-问题1 问题分析 问题说白了就是探究品类和销售量这两个数据他们各自内在联系&#xff0c;根据题意&#xff0c;我们先进行数 据预处理&#…