C语言基础(五)

news2024/11/28 10:47:53

C语言基础

  • 指针
    • 野指针
    • 空地址
  • 二级指针
  • 子函数实现两数交换
  • 总结

指针

指针是一个数据类型,指针是一个保存地址的数据类型

//定义变量
int a;
//定义指针
int* p;//定义了一个名叫p的指针
//int与“指针”分别是修饰a和p的数据类型

地址:内存单元的标号
指针的大小:在32OS,大小为4字节;在64OS,大小为8字节
在这里插入图片描述

<存储类型> 数据类型 指针名;
int * p;
//一个指向int类型变量的指针
//编译器分配4字节空间,起名为p,存放int类型变量的地址

在这里插入图片描述
指针的数据类型:去掉指针名,剩下的就是指针的数据类型

int* p;
//p的数据类型是int*

tip----总结*的用法

  • 双目运算符 ----乘法 a*b
  • 单目运算符 ----取值 *p
  • 定义变量时,表示指针这种数据类型
    在这里插入图片描述
    指针变量中只能保存他指向同种类型的变量的地址

野指针

不知道指向的指针(局部指针,未初始化,随机指向)
在这里插入图片描述
避免野指针----先指向NULL,0号地址

空地址

0号地址:没有指向的指针(NULL)
注意:禁止操作
特点:不读不写(这片空间不能保存别的地址,只能保存NULL,即就是不能指向,但是别的指针可以指向它)
在这里插入图片描述

二级指针

指针的指针(保存指针的地址)
二级指针的内存空间:用来保存一级指针的地址

<存储类型>   数据类型   指针名;
int** pp;

在这里插入图片描述
在这里插入图片描述

子函数实现两数交换

此处为值传递
在这里插入图片描述
在这里插入图片描述
调用函数的时候,需要操作地址里面的值,需要传地址,此时为地址传递
在这里插入图片描述

总结

1、指针指向的数据类型:去掉*和指针名,剩下的就是指向的数据类型

int *p ---- 指针指向int类型
int ** pp ---- 二级指针指向
int *** ppp -----三级指针指向int**类型

2、指针的数据类型:去掉指针名,剩下的就是指针的数据类型

int * p ----- 指针的数据类型int *
int ** pp ---- 二级指针的数据类型int **
int ***ppp ----三级指针的数据类型int ***

3、指针所能访问到的空间的大小,由其指向的数据类型决定

char * p ----访问char 类型,1byte
int * p ---- 访问int类型,4byte
int **pp ----访问int*类型,4byte(32OS)
char ***ppp ---- 访问char **类型 ,4byte(32OS)

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

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

相关文章

智能助手大比拼!5款热门思维导图软件细致评估!

思维导图是一种创造性的方法&#xff0c;集思广益&#xff0c;寻找不同想法之间的联系。如果你做得好&#xff0c;你可以为难题提出新的想法和解决方案&#xff0c;总结一篇文章或演示稿&#xff0c;让你的想法井然有序。在数字时代&#xff0c;纸质思维导图存在不能随意更改、…

我的五星工作神器Apps

大家好呀&#xff01;&#x1f44b; 今天我要来种草五款让我工作如鱼得水的神奇App&#xff0c;每一款都是我亲自试用&#xff0c;绝对良心推荐哦&#xff01;赶紧拿出小本本记下来吧&#xff01;&#x1f4dd; 1️⃣【亿可达】——软件连接器 它是一款自动化工具&#xff0c;…

深度学习知识点:卷积神经网络(CNN)

深度学习知识点&#xff1a;卷积神经网络&#xff08;CNN&#xff09; 前言卷积神经网络&#xff08;CNN&#xff09;卷积神经网络的结构Keras搭建CNN经典网络分类LeNetAlexNetAlexNet 对比LeNet 的优势&#xff1f; VGGVGG使用2个33卷积的优势在哪里&#xff1f;每层卷积是否只…

JS算法题:找到数组中第 k 大的元素

问题描述&#xff1a; 给定一个未排序的整数数组&#xff0c;找到其中第 k 大的元素。注意&#xff0c;你可以假设 k 总是有效的&#xff0c;且 1 ≤ k ≤ 数组的长度。 举个例子&#xff1a; 如果给定数组是 [3,2,1,5,6,4]&#xff0c;k 是 2&#xff0c;那么第 2 大的元素…

MedSAM环境搭建推理测试

引子 之前分享过一篇SAM&#xff08;感兴趣的&#xff0c;请移步Segment Anything&#xff08;SAM&#xff09;环境安装&代码调试_segment anything环境-CSDN博客&#xff09;环境搭建&推理测试&#xff0c;虽然话说Segment Anything&#xff0c;但是原始模型对于一些…

深入理解神经网络学习率(定义、影响因素、常见调参方法、关键代码实现)

目录 什么是学习率&#xff1f; 有哪些影响因素&#xff1f; 常用调整方法&#xff1f; 博主介绍&#xff1a;✌专注于前后端、机器学习、人工智能应用领域开发的优质创作者、秉着互联网精神开源贡献精神&#xff0c;答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平…

自动化图像标注是否可靠?人人可尝试的方案

一、背景 随着大模型的崛起&#xff0c;多模态模型如雨后春笋一样快速发展。我们可以借助多模态大模型理解物理世界中的物体&#xff0c;在上篇文章大模型时代&#xff0c;图像描述生成&#xff08;image caption&#xff09;怎么走&#xff1f;中提到基于大模型的图像描述生成…

ADB的基本语法及常用命令

学习网址 ADB命令的基本语法如下&#xff1a; adb [-d|-e|-s <serialNumber>] <command> 如果有多个设备/模拟器连接&#xff0c;则需要为命令指定目标设备。 参数及含义如下&#xff1a; 常用命令如下&#xff1a; 1. 启动ADB服务 adb start-server 2. 停止…

上网方法介绍

注册 https://www.cordcloud.biz/user 注册后先充值&#xff0c;充值后还要购买套餐&#xff0c; 充值之后&#xff0c;就可以看到流量了&#xff0c;然后复制订阅地址&#xff0c;到客户端去自动下载 URL拷贝到这个地方&#xff0c;然后点击下载

Vue.js前端开发零基础教学(六)

学习目标 了解什么是路由&#xff0c;能够说出前端后端路由的原理 掌握多种路由的使用方法&#xff0c;能够实现路由的不同功能 掌握Vue Router的安装及基本使用方法 5.1 初始路由 提到路由&#xff08;Route),一般我们会联想到网络中常见的路由器&#xff08;Router),…

清明三天,用Python赚了4万?

每年4月&#xff0c;是Python圈子里接私活的旺季&#xff0c;特别是在节假日这种数据暴增的时间段&#xff0c;爬虫采集、逆向破解类的私活订单会集中爆发&#xff0c;量大价高。几乎所有的圈内人都在趁着旺季接私活。 正好&#xff0c;我昨天就做了一单爬虫逆向私活&#xff…

Python统计分析库之statsmodels使用详解

概要 Python statsmodels是一个强大的统计分析库,提供了丰富的统计模型和数据处理功能,可用于数据分析、预测建模等多个领域。本文将介绍statsmodels库的安装、特性、基本功能、高级功能、实际应用场景等方面。 安装 安装statsmodels库非常简单,可以使用pip命令进行安装:…

SGI_STL空间配置器源码剖析(六)deallocate函数

deallocate函数是内存释放函数。源码及注释如下&#xff1a; /* __p may not be 0 */static void deallocate(void* __p, size_t __n) // __p指向要回收的内存起始地址&#xff0c;__n表示其大小{if (__n > (size_t) _MAX_BYTES)// 大于128字节&#xff0c;普通方式开辟和回…

男生穿什么裤子最百搭?适合男生穿的裤子品牌测评分享

每个伙伴们想必经常都会选择一些裤子&#xff0c;但现在市面上的裤子品牌也实在太多了&#xff0c;好不容易选到了几件好看的裤子&#xff0c;结果质量却很不好。主要就是因为现在有太多商家为了利润而使用一些舒适性、质量差的面料&#xff0c;那么今天就给大家分享一些质量上…

RAG 如何消除大模型幻觉

什么是大模型幻觉 假设我们有一个基于大型生成模型&#xff08;如GPT-3&#xff09;的问答系统&#xff0c;该系统用于回答药企内部知识库中的问题。我们向其提出一个问题&#xff1a;“阿司匹林的主要药理作用是什么&#xff1f;” 正确的答案应该是&#xff1a;“阿司匹林主…

无人棋牌室软硬件方案

先决思考 软件这一套确实是做一套下来&#xff0c;可以无限复制卖出&#xff0c;这个雀氏是一本万利的买卖。 现在肯定是有成套的方案&#xff0c;值不值得重做&#xff1f;为什么要重做&#xff1f; 你想达到什么效果&#xff1f;还是需要细聊的。 做这个东西难度不高&…

✌粤嵌—2024/3/18—搜索插入位置

代码实现&#xff1a; 二分法&#xff1a; 方法一&#xff1a;非递归&#xff0c;左闭右闭 int searchInsert(int *nums, int numsSize, int target) {int l 0, r numsSize - 1; // 左闭右闭int mid;while (l < r) {mid (l r) / 2;if (nums[mid] target) {return mid;}…

plc数据采集网关

在信息化与工业化深度融合的今天&#xff0c;数据采集成为了推动制造业智能化转型的重要基石。其中&#xff0c;PLC数据采集网关作为连接PLC设备与上层管理系统的桥梁&#xff0c;扮演着至关重要的角色。 一、PLC数据采集网关&#xff1a;定义与重要性 PLC数据采集网关是一种…

3D视觉引导麻袋拆垛破包 | 某大型化工厂

客户需求 此项目为大型化工厂&#xff0c;客户现场每日有大量麻袋拆垛破包需求&#xff0c;麻袋软包由于自身易变形、码放垛型不规则、运输后松散等情况&#xff0c;无法依靠机器人示教位置完成拆垛。客户遂引入3D视觉进行自动化改造。 工作流程&#xff1a; 3D视觉对紧密贴合…

论文略读:Window Attention is Bugged: How not to Interpolate Position Embeddings

iclr 2024 reviewer 打分 6666 窗口注意力、位置嵌入以及高分辨率微调是现代Transformer X CV 时代的核心概念。论文发现&#xff0c;将这些几乎无处不在的组件简单地结合在一起&#xff0c;可能会对性能产生不利影响问题很简单&#xff1a;在使用窗口注意力时对位置嵌入进行插…