news 2026/2/4 17:19:57

c/c++指针简单理解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c/c++指针简单理解

普通情境下指针

int *a = &b; int b = 1;

int* 表示a是指向int型的指针变量,

所以 a 可以存放地址,

示例:存放的b的地址。

a,表示&b的别名,是地址的别名

所以 可以通过 a 来找到 b 来进行操作。

类似于,b是1的别名。

*

这是一个解引用的作用

通过 指针里存放的地址,找到对应的变量,进行访问等操作。

示例;

a 里面存放的是 b的地址。

当你输出a的值时,得到一串储存地址。

但是当你去输出 *a 时你就会得到 b里面的值。输出1。

结构体指针

你创建了一个名字是 emp的结构体,

struct employee{

int name;

int weigh;

}emp;

现在有一个指针 struct emp *qq;

当你在使用 qq时,

qq->name; 此时不用使用*qq 来进行解引用,因为->包含对其的解引用。

在函数的应用

如果你写了一个函数,传入了 已有的参数 int a=0;

现在你使用函数对a进行修改。

使得其变为1;

但是在主函数中,你如此使用该函数,并不能改变 a 的值

输出结果是,

0

0

因为函数传入的参数a是a的副本

副本修改不影响主本。

若想使得 a 可以通过函数被修改,则需要,使用指针,找到a的地址,对其进行修改。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/4 15:49:15

Kotaemon能否用于保险条款解读?复杂文本简化能力

Kotaemon能否用于保险条款解读?复杂文本简化能力 在保险行业,一份标准的重疾险合同动辄上百页,密布着“等待期”“免责情形”“给付条件”等专业术语。当用户问出“甲状腺癌还能赔吗?”这样看似简单的问题时,背后可能涉…

作者头像 李华
网站建设 2026/2/4 6:10:11

23、跨平台 Unix 系统管理与自动化工具实践

跨平台 Unix 系统管理与自动化工具实践 在管理多样化的 *nix 机器基础设施时,可以结合使用 SSH 密钥、NFS 挂载的源目录和跨平台 Python 代码,以下是详细步骤。 系统管理步骤 创建 SSH 公钥 :在用于管理机器的系统上创建 SSH 公钥。不同平台的操作可能有所不同,可参考操…

作者头像 李华
网站建设 2026/1/29 22:49:53

30、Python 并发编程:线程、进程与调度全解析

Python 并发编程:线程、进程与调度全解析 1. 线程的使用 在 Python 中,线程是实现并发的一种方式。下面通过几个具体的例子来详细介绍线程的应用。 1.1 多线程 ARPing 以下代码展示了如何使用多线程进行 ARPing 操作: worker.start() #spawn pool of arping threads f…

作者头像 李华
网站建设 2026/1/31 23:33:54

rt-linux下的“硬实时”的hrtimer通知机制

一、背景 之前的一些rt-linux的博客已经讲到,由于rt-linux下注册的hrtimer的回调默认都并非在硬中断里直接执行,而是被放到的软中断里去执行,这会导致一些实时性的问题,甚至一些系统基础的操作如常见的一些用户态定时睡眠的一些操作在rt-linux下变得有些波动。另外,有些抓…

作者头像 李华
网站建设 2026/2/4 6:26:47

60、C 编程综合知识解析

C# 编程综合知识解析 1. 并发类与集合 在 C# 编程中, System.Collections.Concurrent 命名空间提供了一系列并发类,这些类在多线程环境下能高效地处理数据集合。主要的并发类包括: - ConcurrentQueue<T> :实现了先进先出(FIFO)的队列,可在多线程环境下安全地…

作者头像 李华