指针进阶版☞(超easy~)

news2024/11/18 20:17:48

回顾初级指针:http://t.csdn.cn/5tCSr (其中包含指针和指针数组) 接下来的内容是进阶新知识点哟 (^U^)ノ~YO

一.字符指针o(* ̄▽ ̄*)ブ

1.常量字符的指针。

对于常量字符以及常量字符串,其中若内容相同则会放到同一地址处,也就是当不同的指针变量指到相同的常量字符或常量字符串时指的是同一地址。

而对于字符变量则不同:

注意点:C语言下:对于常量字符要用' ' 对于字符串则用 ""。否则字符串那里回报错

二.数组指针≧◇≦(注意和指针数组的区分哟)

    • 书写形式:数据类型+(*变量名)[列数]=&另一个变量名。

    • 书写形式的解释:

int (*p)[10];p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。所以p是一个指针,指向一个数组,叫数组指针。 注意:[]的优先级要高于*号的,所以必须加上()来保证p先和*结合。

3.应用:(一般应用于二维数组,一维数组一般是直接用普通指针变量)

(重要:当做二维数组使用时(*(p+j))[k]=p[j][k]),因为当取地址时*P代表首行后面的[]代表列(此行第几个)

(1).二维数组(整形和字符)

(2).一维数组(可用但是不提倡,直接用*p=arr它不香吗!?)

4.&数组名VS数组名 差异

三.小结练习p(^o^)q

    • 一维数组传参判断:

    • 二维数组传参判断:

    • 一级指针,二级指针,使用传参场景:

    • 注意点:指针和变量之间一定要相吻合(使用好强转)

例如int (*p)[10]=arr,强转:int (*p)[10]=(int (*)[10])arr;



四.函数指针Σ(っ °Д °;)っ

1.书写形式:数据类型+(*变量名)(参数,参数)=&函数名称。

当使用指针调用函数时有两个选择,一个是直接指针名另一种则是(*指针名)。

    • 如何识别函数指针:(举例说明)

方法:将整分解开,再由内而外分析

1.void(* signal ( int, void(*) (int) ) ) (int);

该代码是一次函数的声明,声明的函数名字叫signal,

signal函数的参数有2个,第一个是int类型,第二个是函数指针类型,该函数指针能够指向的那个函数的参数是int,

返回类型是void

signal函数的返回类型是一个函数指针,该函数指针能够指向的那个函数的参数是int,返回类型是void

2.( *( void (*)() ) 0 )();

该代码是一次函数调用

调用0地址处的一个函数

首先代码中将0强制类型转换为类型为void (*)()的函数指针

然后去调用0地址处的函数

好了这就是今天的内容,明天继续写有关函数指针内容,谢谢大家观看?!!(●'◡'●)记得一键喲谢谢

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

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

相关文章

STL-vector容器和string容器

目录 一、STL的基本概念 二、vector容器 1.遍历 2.vector存放自定义数据类型 3.容器嵌套容器 4.构造函数 5.容量和大小 6.插入和删除 7.容器互换 三、string容器 1.string和char的区别 2.string的构造函数 3.赋值操作 4.字符串拼接 5.查找和替换 6.比较 7.字符串的存取和单个字…

Linux应用编程---5.多线程的创建以及线程间数据共享

Linux应用编程—5.多线程的创建以及线程间数据共享 5.1 多线程的创建 ​ 创建多线程,则多次调用pthread_create()函数。创建两个线程,线程1每隔一秒打印字符串:Hello world!,线程2每隔一秒打印字符串:Goo…

【目标检测】Casecade R-CNN论文讲解(超详细版本)

目录:Casecade R-CNN论文讲解一、背景二、简单回顾R-CNN结构2.1 Training阶段2.2 Inference阶段三、论文摘要四、介绍五、关于mismatch问题六、关于单纯增大训练时IoU阈值问题七、相关工作7.1 two-stage7.2 one-stage7.3 multi-stage八、Cascade R-CNN讲解九、总结论…

【NI Multisim 14.0原理图设计基础——元器件分类】

目录 序言 一、元器件分类 🍉1.电源库 🍉2.基本元器件库 🍉3.二极管库 🍉 4.晶体管库 🍉5.模拟元器件库 🍉 6.TTL库 🍉7.CMOS库 🍉8.其他数字元器件库 🍉9.混合…

白帽子VPS 选购指南

本文长期更新,用于记录价格便宜,可以支持个人代码审计测试/部署资产监控任务/hw临时使用等。因为国内云服务器的一些限制,所以文章推荐服务器均为国外服务器,且不需要进行实名认证 PS:不要进行未授权非法活动&#xf…

2、HDFS 入门

一、概述 ​ HDFS(Hadoop Distributed File System)是分布式文件存储系统,主要用来解决海量数据的存储问题。HDFS比较适合一次写入,多次读出的场景。 NameNode(NN) 管理HDFS的namespace维护副本策略管理Bl…

黑马学ElasticSearch(二)

目录: (1)初始ES-安装IK分词器 (2)IK分词器的拓展和停用词典 (3)操作索引库-mapping属性 (4)操作索引库-创建索引库 (5)操作索引库-查询-删除…

2023浙大MPA项目复试参考

今年浙大MPA项目复试是否会恢复线下面试呢?从形式上来说,常规批复试无论是采取钉钉线上还是现场,似乎都可以顺利完成这一项研究生录取前的必要环节。但在2021年浙大MBA和MPA两个项目顶着风险组织了一次现场面试,只不过是放在了西溪…

EEG-SEED数据集作者的---基线论文阅读和分析

《Investigating Critical Frequency Bands and Channels for EEG-based Emotion Recognition with Deep Neural Networks》 方法: A.预处理根据被试的反应,只选择诱发目标情绪的实验时期进行进一步分析。 将原始脑电图数据降采样至200Hz采样率。目视…

【C语言课堂】 函数精讲

欢迎来到 Claffic 的博客 💞💞💞 前言: 上期我们详细讲了分支和循环语句,这次我们来讲解函数。说到函数,大家应该不陌生。C语言中的函数是什么样的呢?听我娓娓道来 ~ 目录 ❤️1.何为函数 &a…

目标检测:YOLO V1 思想总结

目标检测:YOLO V1 思想总结YOLO V1Introduction(模型介绍)Network Design(网络设计)Backbone(骨干网络)Grid Cell(单元格)Loss Function(损失函数&#xff09…

信息系统项目管理师考点之进度与成本常见计算

信息系统项目管理师考点之进度与成本常见计算总时差和自由时差区别PERT技术进度管理常见问题解决方案挣值分析成本控制主要工作内容参考链接总时差和自由时差区别 总时差 指一项工作在不影响总工期的前提下所具有的机动时间 总时差 LS - ES LF - EF 自由时差 指一项工作在不…

【STL标准库 范型编程】学习笔记(1):C++学习网站、STL六大部件介绍

目录 简介C++学习网站STL六大部件学习来源结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国…

YUTU

FE: Cortex-R4 处理器 第一个基于 ARMv7-R 体系结构的深层嵌入式实时处理器 BE : Cortex-M3处理器 基于 ARMv7-M体系结构 The YuTu SoC is a Flash memory controller chip, which provides a PCIe Gen 3x4 host interface and 4 channels (up to 8 CEs per channel) Flash in…

【自学C++】C++变量赋值

C变量赋值 C变量赋值教程 变量 的赋值就是给已经定义的变量进行重新设置值的过程,C 中变量的赋值可以单独为单个变量赋值,也可以同时为多个变量赋值。 C变量赋值详解 语法 varname1 value1;参数 参数描述varname1需要赋值的变量。value1需要给变量…

【MySQL系列】Java的JDBC编程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、JCBD背景知识引入 二、安装MySQL数据库驱动包,并且导入到项目中 三、JDBC的使用 3.1 JDBC插入数据操作 3.2 JDBC修改数据操作…

哈希(C++)

C语言总结在这常见八大排序在这作者和朋友建立的社区:非科班转码社区-CSDN社区云💖💛💙期待hxd的支持哈🎉🎉🎉最后是打鸡血环节:想多了都是问题,做多了都是答案&#x1f…

计算机网络复习之运输层

文章目录ARQ协议停等式ARQ回退n帧的ARQ(GBN)选择性重传ARQ(SR)UDP协议TCP协议TCP协议的特点TCP报文段首部格式TCP连接管理TCP可靠传输TCP的流量控制TCP拥塞控制参考拥塞:若对网络中某一资源的需求超过了该资源所能提供…

Jenkins安装

Jenkins安装1、Jenkins简介2、Jenkins安装2.1 安装条件2.2 安装JDK2.2.1 检索可用包2.2.2 安装2.3 下载Jenkins的war包2.4 启动jenkins并测试3、安装maven1、Jenkins简介 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件…

LeNet5—论文及源码阅读

LeNet5—论文及源码阅读🐬 目录: 一、概论二、论文选读三、源码精读四、参考资料 一、概论 LeNet-5是一种经典的卷积神经网络结构,于1998年投入实际使用中。该网络最早应用于手写体字符识别应用中。普遍认为,卷积神经网络的出现开始于LeCu…