当前位置: 首页 > news >正文

江苏SEO网站建设/免费网站制作app

江苏SEO网站建设,免费网站制作app,网站建设及解决方案,视觉差网站设计第十二课:指针强化 学习目标: 理解常量指针与指针常量的区别。学习如何使用函数指针。掌握指针与数组的高级使用技巧。 学习内容: 常量指针与指针常量 概念: 常量指针是一个指向常量的指针,这意味着不能通过这个指针…

第十二课:指针强化

学习目标:

  • 理解常量指针与指针常量的区别。
  • 学习如何使用函数指针。
  • 掌握指针与数组的高级使用技巧。

学习内容:

  1. 常量指针与指针常量

    • 概念: 常量指针是一个指向常量的指针,这意味着不能通过这个指针来修改其指向的值。指针常量是一个指针,其自身的值不可以修改,但它可以修改其指向的内容。
    • 代码示例:
      #include <iostream>int main() {int value = 10;int anotherValue = 20;// 常量指针const int *ptr = &value;// ptr = &anotherValue; // 正确,可以改变指针指向// *ptr = 15; // 错误,不能通过ptr改变value的值// 指针常量int *const ptrConst = &value;*ptrConst = 15; // 正确,可以改变value的值// ptrConst = &anotherValue; // 错误,不能改变指针的指向std::cout << "Value through constant pointer: " << *ptr << std::endl;std::cout << "Value through pointer constant: " << *ptrConst << std::endl;return 0;
      }
      
    • 预计输出效果:
      Value through constant pointer: 10
      Value through pointer constant: 15
      
    • 使用场景: 当你想保护指针指向的数据不被修改时使用常量指针,当你不想改变指针的指向时使用指针常量。
  2. 函数指针

    • 概念: 函数指针是指向函数的指针,通过这个指针可以调用不同的函数。
    • 代码示例:
      #include <iostream>void greetEnglish() {std::cout << "Hello!" << std::endl;
      }void greetSpanish() {std::cout << "¡Hola!" << std::endl;
      }int main() {// 函数指针void (*greet)() = nullptr;greet = &greetEnglish; // 指向greetEnglish函数greet(); // 调用greetEnglishgreet = &greetSpanish; // 指向greetSpanish函数greet(); // 调用greetSpanishreturn 0;
      }
      
    • 预计输出效果:
      Hello!
      ¡Hola!
      
    • 使用场景: 当你需要在运行时调用不同的函数时,函数指针特别有用,例如回调函数或事件处理。
  3. 指针与数组的高级应用

    • 概念: 指针可以用来遍历数组,通过指针偏移量来访问数组元素。
    • 代码示例:
      #include <iostream>int main() {int numbers[] = {10, 20, 30, 40, 50};int *ptr = numbers; // 指向数组第一个元素for (int i = 0; i < 5; ++i) {std::cout << "Number[" << i << "] = " << *(ptr + i) << std::endl;}return 0;
      }
      
    • 预计输出效果:
      Number[0] = 10
      Number[1] = 20
      Number[2] = 30
      Number[3] = 40
      Number[4] = 50
      
    • 使用场景: 当需要遍历数组或动态分配的数组时,指针提供了一种灵活的访问和操作数组元素的方式。

练习题: 编写一个C++程序,创建一个包含5个整数的数组。使用函数指针指向一个函数,该函数将数组作为参数,并返回数组中的最大值。在main函数中调用这个函数,并输出结果。

答案:

#include <iostream>// 函数原型声明
int getMax(int*, int);int main() {int arr[] = {3, 1, 4, 1, 5};int arraySize = sizeof(arr) / sizeof(arr[0]);// 函数指针声明int (*funcPtr)(int*, int) = nullptr;funcPtr = &getMax; // 指向getMax函数// 通过函数指针调用getMaxint max = funcPtr(arr, arraySize);std::cout << "The maximum value in the array is: " << max << std::endl;return 0;
}// 定义getMax函数
int getMax(int* array, int size) {int max = array[0];for (int i = 1; i < size; ++i) {if (array[i] > max) {max = array[i];}}return max;
}

预计输出效果:

The maximum value in the array is: 5

目录
第十三课:结构体和联合体

相关文章:

从0开始学习C++ 第十二课:指针强化

第十二课&#xff1a;指针强化 学习目标&#xff1a; 理解常量指针与指针常量的区别。学习如何使用函数指针。掌握指针与数组的高级使用技巧。 学习内容&#xff1a; 常量指针与指针常量 概念&#xff1a; 常量指针是一个指向常量的指针&#xff0c;这意味着不能通过这个指针…...

mongodb和python交互

1. mongdb和python交互的模块 pymongo 提供了mongdb和python交互的所有方法 安装方式: pip install pymongo 2. 使用pymongo 2.1 导入pymongo并选择要操作的集合 数据库和集合能够自动创建 2.1.1 无需权限认证的方式创建连接对象以及集合操作对象 from pymongo import Mong…...

力扣279. 完全平方数

动态规划 思路&#xff1a; 假设 dp[i] 为最少组成数 i 的平方数个数&#xff1b;则其上一个状态为 dp[i - j^2] 1&#xff0c;1 为 j^2&#xff1a; 即 i 的最少完全平方数 i - j^2 的最少完全平方数 1&#xff0c;其中 j^2 < i 为最接近 i 的平方数&#xff1b;初始值…...

【C++】list容器功能模拟实现

介绍 上一次介绍了list队容器的迭代器模拟&#xff0c;这次模拟实现list的简单功能&#xff0c;尤其要注意构造函数、析构函数、以及赋值运算符重载的实现。 list容器需要接纳所有类型的数据&#xff0c;因此&#xff0c;结构设置与迭代器设置同理&#xff0c;需要引入结点&…...

linux 安装ffmpeg

一、下载 ffmpeg-4.3.1 下载地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1xbkpHDfIWSCbHFGJJHSQcA 提取码&#xff1a;3eil 二、上传到服务器root目录下 三、给ffmpeg-4.3.1 读写权限 chmod -R 777 /root/ffmpeg-4.3.1 四、创建软连接 1.进入/bin 目录 2.…...

激光雷达行业梳理2-产业链、公司、未来展望

四、产业链及竞争格局 激光雷达产业链可以分为上游&#xff08;光学和电子元器件&#xff09;、中游&#xff08;集成激光雷达&#xff09;、下游&#xff08;不同应用场景&#xff09;。其中 上游即激光发射、激光接收、扫描系统和信息处理四大部分&#xff0c;主要包括激光器…...

Java 设计者模式以及与Spring关系(四) 代理模式

目录 简介: 23设计者模式以及重点模式 代理模式&#xff08;Proxy Pattern&#xff09; 静态代理示例 spring中应用 动态代理 1.基于JDK的动态代理 target.getClass().getInterfaces()作用 内名内部类写法(更简洁&#xff0c;但不推荐) 2.基于CGLIB实现 spring中应用 …...

PHP编程实践:实际商品价格数据采集

引言 在电子商务领域&#xff0c;对商品价格进行数据采集和对比是一项常见的需求。本文将介绍如何使用PHP编程语言实现对1688和淘宝商品价格数据的采集和对比&#xff0c;帮助读者了解实际的编程实践过程。 一、数据采集原理 数据采集是指从互联网上获取数据的过程&#xff…...

有效防范网络风险的关键措施

在数字化时代&#xff0c;企业面临着日益复杂和频繁的网络风险。提高员工的网络安全意识是防范网络威胁的关键一步。本文将探讨企业在提升网络安全意识方面可以采取的措施&#xff0c;以有效预防潜在的网络风险。 1. 开展网络安全培训&#xff1a;企业应定期组织网络安全培训&…...

Spring Boot整合webservice

Spring Boot整合webservice 前言1.整合依赖2.建立暴露接口2.实现类 3.发布服务4.查看打完收工&#xff01; 前言 工作中遇到的问题&#xff0c;由于下游系统属于第三方系统&#xff0c;使用的是soap webservice&#xff0c;同时也在开发&#xff0c;虽然也发布了一套webservic…...

Qt拖拽事件简单实现

1.相关说明 重写resizeEvent(这个按需重写)、dragEnterEvent(拖拽事件函数)、dropEvent(放下事件函数)&#xff0c;可以将本地图片拖拽到label标签中 2.相关界面 3.相关代码 #include "widget.h" #include "ui_widget.h" #include <QDragEnterEvent>…...

上门回收小程序,打造回收新模式

近年来&#xff0c;我国一直秉持着环保绿色的发展理念&#xff0c;为了减少资源浪费&#xff0c;旧物回收成为了人们处理废弃物品的方式。目前&#xff0c;我国回收市场规模大约能达到3.58亿元&#xff0c;在我国经济的稳定增长和环保意识的提高下&#xff0c;回收市场规模还将…...

unity项目《样板间展示》开发:火焰和UI设计

第二章&#xff1a;火焰和UI设计 前言一、火焰模型管理灶台火焰壁炉火焰 二、电视机播放三、UI设计结语 前言 这次带大家从0到1做一个unity项目&#xff1a;《样板间展示》。 顾名思义&#xff0c;项目内容是展示样板间&#xff0c;即玩家可以与房间中的物体、家具进行交互。 至…...

即插即用篇 | UniRepLKNet:用于音频、视频、点云、时间序列和图像识别的通用感知大卷积神经网络 | DRepConv

大卷积神经网络(ConvNets)近来受到了广泛研究关注,但存在两个未解决且需要进一步研究的关键问题。1)现有大卷积神经网络的架构主要遵循传统ConvNets或变压器的设计原则,而针对大卷积神经网络的架构设计仍未得到解决。2)随着变压器在多个领域的主导地位,有待研究ConvNets…...

MPU6050传感器—姿态检测

本节主要介绍以下内容&#xff1a; 姿态检测的基本概念 姿态传感器的工作原理及参数 MPU6050传感器介绍 实验&#xff1a;获取MPU6050原始数据 实验&#xff1a;移植官方DMP例程 一、姿态检测基本概念 1.1 姿态 在飞行器中&#xff0c;飞机姿态是非常重要的参数&#x…...

PaddleOCR封装,在线服务化部署实战(python部署,超新手教程)

OCR&#xff0c;即光学字符识别&#xff08;Optical Character Recognition&#xff09;&#xff0c;是一种将图像中的文字转换为机器编码文字的技术。这种技术可以识别和转换各种来源的文本&#xff0c;包括扫描文档、照片中的文字、手写笔记等。光学字符识别&#xff08;OCR&…...

采集B站up主视频信息

一、网页信息&#xff08;示例网址&#xff1a;https://space.bilibili.com/3493110839511225/video&#xff09; 二、查看响应数据 三、查看数据包内容 四、相关代码&#xff08;代码内容未进行翻页爬取&#xff09; # Time: 2024/1/19 16:42 # Author: 马龙强 # File: 采集B…...

Laykefu客服系统 任意文件上传漏洞复现

0x01 产品简介 Laykefu 是一款基于workerman+gatawayworker+thinkphp5搭建的全功能webim客服系统,旨在帮助企业有效管理和提供优质的客户服务。 0x02 漏洞概述 Laykefu客服系统/admin/users/upavatar.html接口处存在文件上传漏洞,而且当请求中Cookie中的”user_name“不为…...

《幻兽帕鲁》服务器该如何选购

幻兽帕鲁作为目前火爆的一款游戏&#xff0c;幻兽帕鲁的服务器要能够承受其强大的力量和能力&#xff0c;需要具备一定的配置和性能。因此针对<幻兽帕鲁>这款游戏我们来总结一些可能用于承载幻兽帕鲁的服务器类型: 高性能服务器:幻兽帕鲁的能力强大&#xff0c;可能需要…...

比较有创意的网站

有创意的网站通常展示了独特的设计、交互或内容。以下是一些备受赞誉的有创意的网站&#xff0c;你可以参考&#xff1a; Awwwards: Awwwards 是一个评选并展示全球最优秀网站的平台。你可以在这里找到很多有创意的网站设计。 Awwwards CSS Design Awards: 类似于Awwwards&…...

alfred自定义谷歌翻译workflow

如果要实现自定义workflow&#xff0c;则必须安装付费版的alfred&#xff0c;囊中羞涩的话可以自行淘宝。自定义步骤如下&#xff1a; 1. 新建空的workflow&#xff0c;填写基本信息 2. 开发python脚本 打开该workflow所在目录&#xff0c;进行下面步骤&#xff1a; 首先安装…...

【网络安全 -> 防御与保护】专栏文章索引

为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 网络安全——防御与保护 &#xff08;一&#xff09;.信息安全概述 &#xff08;二&#xff09;.防火墙组网...

用户资源(菜单)控制学习使用

效果图 第一步 需要再定义常量资源 //信访听证 资源前缀public static final String RESPREFIX_MODULE_XINFTZ_"module_xinftz_";//听证专家库public static final ConstantItem RES_MODULE_XINFTZ_TINGZZJK new ConstantItem(RESPREFIX_MODULE_XINFTZ_ "tin…...

邦芒支招:十大秘诀助你轻松进名企

找到一份理想的工作是大学毕业生们最大的心愿,而进入那些知名的大企业更是广大毕业生的梦想。如何应付这些企业的面试成为了毕业生们最为关注的话题。 这些名企的面试往往有一定的程序,绝非草草而就。因此,一定要有所准备才能“百战不殆”。而要在面试前得到有关信息,常常采用…...

5G_射频测试_参考规范(一)

参考规范&#xff1a; • Base Station (BS) conformance testing&#xff08;重点limitation&#xff09;Directory Listing /ftp/Specs/archive/38_series/38.104 (3gpp.org) • Conducted conformance testing&#xff08;传导测试&#xff09;3GPP 38.141-1 6.7 Tran…...

幻读是什么,用什么隔离级别可以防止幻读?

幻读指的是&#xff0c;在同一个事务中&#xff0c;以同样的条件执行的两次查询&#xff0c;第二次查询查到了第一次查询所没查到的数据。 在mysql的四种隔离级别中&#xff0c;可重复读和串行化两种隔离级别没有幻读问题。那么它们是如何解决幻读问题的呢&#xff1f; 先说串行…...

UE5 C++学习笔记 FString FName FText相互转换

1.FString 是UE里的String。最接近std::string, 唯一可以修改的字符串类型。性能更低 TEXT(string) TEXT宏&#xff0c;作用是将字符串转换成Unicode&#xff0c;切记UE中使用字符串输出要使用该宏 2. FName 是UE里特有的类型。它更注重于表示名称不区分大小写&#xff0c;不…...

【ASOC全解析(三)】machine原理和实战

【ASOC全解析&#xff08;三&#xff09;】machine原理和实战 一、machine概述与原理1.1 machine的主要职责1.2 本文的主要内容 二、machine程序示例完整的machine驱动代码示例扩展知识&#xff1a;SND_SOC_DAILINK_DEFS使用方法说明总结与其它说明 /*************************…...

matlab appdesigner系列-常用15-滑块、微调器

滑块&#xff0c;以左右拖动的方式在一定范围内改变数值 此示例&#xff0c;滑块显示微调器的数值&#xff0c;微调器也可以显示滑块的数值 操作步骤为&#xff1a; 1&#xff09;将滑块和微调器拖拽到画布上 2&#xff09;分别设置这两个组件的回调函数 回调函数有两个选项…...

google翻译相机报错 请安装最新的Google应用,以便使用相机翻译功能

修复&#xff1a;google翻译相机报错 背景&#xff1a;解决方法 背景&#xff1a; 国内手机使用google翻译的相机时报错&#xff1a; 请安装最新的Google应用&#xff0c;以便使用相机翻译功能点击报错的“确定”后转到了国内空白的软件商店页面 解决方法 Google Play搜索 …...