基于C++基础知识的指针

一、变量与指针

    在C++中,变量是用来存储数据的一个标识符,而指针是一个变量,该变量存储的是另一个变量的地址。

  • 变量可以是不同的数据类型,包括整数(int)、浮点数(float)、字符(char)、布尔值(bool)等。在声明变量时,需要指定变量的数据类型和标识符。例如:
int num; // 声明一个整数变量
float f; // 声明一个浮点数变量
char c; // 声明一个字符变量
bool isTrue; // 声明一个布尔变量
  • 指针是一种数据类型,通常说的指针就是指针变量,它是专门用来存放地址的变量,而变量的指针主要指变量在内存中的地址。

1.指针的声明

声明指针的一般形式如下: 数据类型标识符 * 指针变量名

例如: 

int *p;  //声明一个整型指针
float *a, *b;  //声明两个浮点指针

 2.指针的赋值

(1) 在初始化时赋值:

int i=100;
int *p=&i;

(2)在后期赋值:

int i=100;
p=&i;

 3.关于指针使用的说明

 (1)指针变量名是p,而不是*p。 p=&i的意思是取变量i的地址赋值给指针变量p。

   输出变量的地址如图1.3所示

图 1.3

  运行结果如下所示。

  通过printf函数直接将地址输出。因为变量是由系统分配空间的,所以变量的地址不是固定不变的。 

 (2)指针变量不可以直接赋值。

int a=100;
int *p;
p=100;

 该代码编译不能通过。

(3)不能把*p当做变量使用。 

int a=100;
int *p;
*p=100;
printf("%d", p);
printf("%d", *p);

上面代码可以编译通过,但无法输出结果。 

二、指针运算符和取地址运算符 

 *是指针运算符,&是取地址运算符。

 以下是通过指针实现输出指针对应的数值如图2.1所示。

图2.1

 运行结果如下所示。

三、指向空的指针与空类型指针 

 指针可以指向任何数据类型的数据,包括空类型(void),如:

     void *p;   //定义一个指向空类型的指针变量

 空类型指针可以接受任何类型的数据。

  空指针的使用代码如图3.1所示

图3.1

运行结果如下所示。 

四、总结

    以上就是今天要讲的内容,本文章简单介绍了C++中的指针变量及其如何使用。如有想要了解更多相关的C++基础知识的读者,欢迎您点击下面链接进行学习,详细知识可以看我的专栏C++语法学习。

https://mp.csdn.net/mp_blog/creation/editor/138507291

https://mp.csdn.net/mp_blog/creation/editor/138447951

五、结言

    感谢各位读者的阅读与参与,您的支持是我前进的动力!让我们共同进步,勇攀高峰,实现梦想,加油!谢谢各位读者的鼓励与支持!!!

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

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

相关文章

智慧粮库/粮仓视频监管系统:AI视频智能监测保障储粮安全

智慧粮库视频监管系统是一种基于物联网、AI技术和视频监控技术的先进管理系统,主要用于对粮食储存环境进行实时监测、数据分析和预警。TSINGSEE青犀智慧粮库/粮仓视频智能管理系统方案通过部署多区域温、湿度、空气成分等多类传感器以及视频监控等设施,对…

IDEA及Maven配置代理及Maven中央仓库配置详解

一、配置代理 首先,需要本地开启代理入口,如图。 这个跟你使用代理软件有关。像我使用的是qv2ray。 其次,idea配置代理,如图。 1.1 idea配置代理 打开Settings,如图 1.2 maven配置代理 maven配置代理,修…

虚拟机CentOS密码重置

1,reboot重启 在出现下面的界面1按e 如果有选项就选择“CentOS Linux (3.10.0-327.e17.x86_64)7 (Core)”【我的电脑没有直接显示界面2】 界面1 界面2 2,在上述界面2中继续按e进入编辑模式 找到“ro cr…

partially initialized module ‘replicate‘ has no attribute ‘run‘

partially initialized module replicate has no attribute run(most likely due to a circular import) 在包名上停留查看impot 包的地址。 报错原因: 文件重名了,导入了 当前文件 。 修改文件名 即可。

Vue3路由及登录注销功能、设置导航守护功能模块

路由 在vue中,页面和组件都是.vue文件,可以说是一样的,结构、内容和生产方法都是一样,但是组件可以被反复使用,但页面一般只被使用一次。 路由的作用就是网页地址发生变化时,在App.vue页面的指定位置可以加…

王者荣耀铭文说明

1、铭文作用 铭文,是指在进入游戏之前你可以为你的英雄额外增加的一些属性。一套好的铭文可以说是召唤师的第七件装备。 铭文,卡攻速阈值;卡暴击效果阈值,卡生命阈值等 2、铭文划分 一套铭文页有十个蓝色,十个绿色…

17 M-LAG 配置思路

16 华三数据中心最流行的技术 M-LAG-CSDN博客 M-LAG 配置思路 什么是M-LAG?为什么需要M-LAG? - 华为 (huawei.com) 1 配置 M-LAG 的固定的MAC地址 [SW-MLAG]m-lag system-mac 2-2-2 2 配置M-LAG 的系统标识符系统范围1到2 [SW-MLAG]m-lag system-nu…

宽度优先搜索

又有的时候,我们还会碰到这样一些貌似可以用深搜解决,但又有点茫然打不出深搜程序的题:奇怪的电梯、倒牛奶、面积……这些问题,问的都是最怎么怎么样,但也是从一个起点出发往下走。怎么办?这时候我们就要用…

MongoDB安装及接入springboot

环境:windows、jdk8、springboot2 1.MongoDB概述 MongoDB是一个开源、高性能、无模式(模式自由)的文档(Bson)型数据库;其特点如下: 模式自由 ---- 不需要提前创建表 直接放数据就可以 支持高并…

STM32窗口看门狗的操作

STM32的窗口看门狗的主要功能是,程序过早的喂狗还有太晚喂狗,都会触发单片机重启,就是有一个时间段,在这个时间段内喂狗才不会触发单片机重启。 下面我就总结一下窗口看门狗的设置过程: 第一步:开启窗口看…

css基础之定位、元素的显示与隐藏

定位 一、定位position组成 定义定位模式边偏移, 1.定位模式用于指定一个元素在文档中的定位方式 通过css的positon属性设置,其值分为四个: 静态定位:static 相对定位:relative 绝对定位:absolute 固定定位&#x…

读书笔记——《高质量C++/C编程指南》(5)

目录 前言 类的构造函数、析构函数与赋值函数 构造函数与析构函数的起源 构造函数的初始化表 构造和析构的次序 示例:类String 的构造函数与析构函数 不要轻视拷贝构造函数与赋值函数 示例:类String 的拷贝构造函数与赋值函数 偷懒的办法处理拷贝…

vscode怎么设置背景图片?

vscode背景图片是可以自己设置的,软件安装后默认背景的颜色是黑色的,这是默认的设计,如果要修改背景为指定的图片,那么我们需要安装插件,然后再通过代码来设置背景图片的样式,下面我们就来看看详细的教程。…

代数结构:5、格与布尔代数

16.1 偏序与格 偏序集:设P是集合,P上的二元关系“≤”满足以下三个条件,则称“≤”是P上的偏序关系(或部分序关系) (1)自反性:a≤a,∀a∈P; (2…

旅游推荐管理系统(小组项目)

文章目录 前言 一、项目介绍 1. 项目目的 2. 项目意义 2.1 提升旅游体验 2.2 促进旅游业发展 2.3 数据积累与分析 2.4 提升服务品质 2.5 优化资源配置 二、项目结构 1. 主要使用的技术 1.1 若依(Ruoyi)框架 1.2 Vue.js框架 1.3 Ajax 1.4 …

OpenCV 阈值法

1.概述 在深度学习出现之前&#xff0c;图像中的阈值法处理主要有二值阈值法、自适应阈值法、Ostu阈值法。 2.理论对比 3.代码实现 #include <iostream> #include <opencv2/opencv.hpp>int main(int argc, char** argv) {if(argc ! 2) {std::cerr << "…

【进程通信】了解信号以及信号的产生

文章目录 0.前言1.信号的基本概念1.1中断1.1.1 软中断1.1.2硬中断 1.2异步1.2.1异步和同步的比较 2.信号的主要用途3.信号的特点4.查看信号4.1Core和Term的区别4.2生成Core文件 5.初识捕捉信号5.1signal函数 6.产生信号的方式6.1.通过终端按键产生信号6.2.调用系统函数向进程发…

隆重庆贺中华人民共和国成立七十五周年,中国科学技术大学全体师生祝福祖国强盛

隆重庆贺中华人民共和国成立七十五周年中国科学技术大学全体师生祝福祖国强盛卡西莫多 华夏曾经炮声隆 亿万黎民饥寒重 列强瓜分举杯庆 条约割肉斟血贺 饕餮盛宴沃野中 地大物博多浮华 曾多膏脂送肉人 我辈悲苦先祖民 曾经如此患难共 皆因内乱又失和 才致如此覆巢国 领袖聚沙垒…

使用 TensorFlow.js 和 OffscreenCanvas 实现实时防挡脸弹幕

首先&#xff0c;要理解我们的目标&#xff0c;我们将实时获取视频中的面部区域并将其周围的内容转为不透明以制造出弹幕的“遮挡效应”。 步骤一&#xff1a;环境准备 我们将使用 TensorFlow.js 的 Body-segmentation 库来完成面部识别部分&#xff0c;并使用 OffscreenCanv…

tvm.frontend.from_pytorch详细介绍(1)

文章目录 一、pytorch前端整体转化流程&#xff08;部分&#xff09;1.脚本化的pytorch模型2.内联优化(_run_jit_passes)2.1、内联优化2.2 什么是内联函数 3.graph中的所有op(get_all_op_names)3.1 各个变量的值1 .graph2 .nodes3 .p nodes4、返回结果 二、from_pytorch完整代码…