基于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

五、结言

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

deveco studio 打开官方案例,不显示运行按钮。

就拿官方的search举例好了 git 地址 https://gitee.com/harmonyos/samples/tree/master/ETSUI/Search 使用deveco studio打开Search项目,打开Tools->Device-Manager中的Local Emulator本地模拟器, 此时会发现,运行按钮是灰色的&#xff0…

OVZ虚拟化:解锁高性能的虚拟化利器

欢迎来到我的博客,代码的世界里,每一行都是一个故事 OVZ虚拟化:解锁高性能的虚拟化利器 前言OVZ虚拟化简介OVZ虚拟化的优势OVZ虚拟化的应用场景OVZ虚拟化的部署与管理 前言 在当今快节奏的数字时代,虚拟化技术是推动云计算和容器…

通用人工智能将如何重塑未来

通用人工智能(AGI)是一种人工智能,具有与人类一样的获取知识、应用知识解决问题和理解能力。与专门处理受限任务的狭义人工智能系统不同,AGI寻求发展先进的认知技能,以促进在不同情况下完成复杂任务。AGI是一种人工智能,试图模仿人…

下载源代码并交叉编译riscv FreeBSD系统和内核

RISCV系统曾经让人神秘到无法接触,交叉编译更是只有耳闻,现在随着RISCV的普及,它们神秘的面纱已经被慢慢揭开。 交叉编译作为RISCV系统中的一个重要环节,也随着RISCV的普及而变得更加容易理解和操作。交叉编译允许开发者在一个平…

部署达梦数据库主从配置详细操作DM8

服务器配置 主库 192.168.81.128 实例名 dm-1 从库 192.168.81.129 实例名 dm-2 以下安装部署主从服务器都操作 关闭防火墙 systemctl stop firewalld && systemctl disable firewalld 注意安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。…

下载element-ui报错

此错误表示尝试从npm注册表下载“resize observer polyfill”包时超时。这可能是由于网络连接问题或npm注册表服务器的问题。 要解决此问题,您可以尝试以下步骤: 1.重试npm install命令:有时,网络问题会导致临时超时。再次运行npm…

BGP基本配置练习

要求:通过使用BGP来实现所有设备的环回都能ping通 实验的思路 完成所有路由器的IGP配置 使用直连接口建立EBGP对等体关系 使用环回接口建立IBGP对等体关系 使用connect-interface命令修改IBGP的源IP地址 使用next-hop-local命令修改路由传递的下一…

Funakoshi — LipiDye Ⅱ脂滴活细胞成像试剂

Funakoshi LipiDye II是一款适用于长时间活细胞成像以观察动态脂滴(LDS)合成、移动或降解的绿色荧光染料;是LipiDye(货号:FDV-0010)的升级版,同时具备超强的光稳定性和高灵敏度等特点。 ➧ 产品…

Cartoon Colections Flower Path 2

高质量的花为Unity游戏引擎优化! 移动优化场景 这款10款3D花卉系列,超过+55种颜色!点击 配有高品质的室内植物和花卉模型。 所有对像都可以在可视化中使用。 - 1024x1024,纹理贴图 - Poly计数:平均8500~125500 tris 下载:​​Unity资源商店链接资源下载链接 效果图:

长难句打卡5.14

This is now a question for Gloria Mackenzie, an 84-year-old widow who recently emerged from her small, tin-roofed house in Florida to collect the biggest undivided lottery jackpot in history. 翻译:这是84岁的孤寡老人歌莉娅 麦肯齐当前所面临的问题…

【正版系统】海外短剧系统功能介绍,前端uniapp+开源。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、海外短剧系统功能介绍 二、搭建要求 1.系统要求 总结 前言 短剧作为一种快速、紧凑的娱乐形式,正逐渐受到更多海外观众的喜爱。这种需求增长为…

移动端自动化测试工具 Appium 之持续集成

文章目录 一、背景二、前置条件三、代码部分1、pom.xml文件配置2、main入口代码 四、Jenkins 部分1、下载Jenkins2、安装插件3、job配置4、选择构建 五、工程目录六、报告示例七、总结 一、背景 持续集成是老生话谈的事情,用的好不好,看自己公司与使用场…

【链路层和局域网】

文章目录 链路层和局域网网络节点的连接方式数据链路层和局域网链路层导论链路层:上下文链路层服务链路层在哪里实现?适配器通信错误检测奇偶校验校验和:CRC(循环冗余校验)多点访问链路和协议多路访问协议MAC&#xff…

OpenNJet:引领下一代云原生应用引擎

文章目录 一、前言二、什么是OpenNJet 应用引擎三、OpenNJet的优势3.1 性能无损动态配置3.2 灵活的CoPilot框架3.3 支持HTTP/33.4 支持国密3.5 企业级应用3.6 高效安全 四、centos 安装4.1 生成njet.repo4.2 更新yum 缓存4.3 安装 njet 或 njet-otel 五、OpenNJet配置与部署5.1…

【Nginx <一>⭐️】Nginx 的初步了解以及安装使用

目录 👋前言 👀一、 Nginx 介绍 🌱二、 安装使用 💞️ 三、 总结 📫四、 章末 👋前言 小伙伴们大家好,前段时间主要在学习 Elasticsearch 相关的知识,花了两周的时间吧&#x…

【Linux系统编程】第十八弹---进程状态(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、操作系统进程 1.1、进程背景 1.2、进程如何在CPU上运行的? 1.2、进程状态 2、Linux的进程状态 2.1、如何描…

【VUE】VUE3绘制箭头组件

效果预览&#xff1a; 长、宽、粗细等等根据情况合理调整即可。 组件&#xff1a; <template><div class"line" :style"props.arrowsColor"></div> </template><script setup> import { defineProps, ref, onMounted } fr…

答辩PPT制作成本高?推荐3个aippt工具

这些网站我愿称之为制作答辩PPT的神&#xff01; 很多快要毕业的同学在做答辩PPT的时候总是感觉毫无思路&#xff0c;一窍不通。但这并不是你们的错&#xff0c;对于平时没接触过相关方面&#xff0c;第一次搞答辩PPT的人来说&#xff0c;这是很正常的一件事。一个好的答辩PPT…

【案例】使用Vue实现拖拽课表

效果展示 效果说明 点击左侧的课程并进行拖拽&#xff0c;拖拽到要开设本课程的地方然后松手&#xff0c;即可将本节课设置为当前所拖拽的科目并且背景色为当前科目的背景色&#xff0c;当多次拖拽到同一节课的时候将会实现后者覆盖前者的效果。 效果实现代码 第一步&#x…

【全开源】多功能投票小程序支持微信公众号+微信小程序+H5(源码搭建/上线/运营/售后/维护更新)

介绍 多功能投票小程序是一款基于FastAdminThinkPHPuniapp开发的一款多功能投票小程序。 ​用户友好与便捷性&#xff1a; 投票小程序界面简洁直观&#xff0c;操作简便&#xff0c;用户无需下载和安装额外的应用&#xff0c;即可在微信或其他平台上直接使用&#xff0c;大大提…