数组和指针是一个非常发人深省的笔试

在上一次笔试中,我遇到了以下问题。没有人敢说精通C / C ++。
当然,长时间工作后,许多老问题将很容易解决。因此,该理论非常重要。
老实说,下面的问题是很基本的。尽管我当时在笔试中猜对了,但是我仍然需要深入研究具体的转换细节。
例如标题:#include< stdio.h> int main(void){char * str [] = {“ ab”,“ cd”,“ ef”,“ gh”, “ ij”,“ kl”}; char * t; t =(str + 4)[-1]; printf(“%s ",t); return 0;}上面程序的输出是什么?程序正确运行的结果如下:当时我看到,数组下标还具有负值吗?到底是怎么回事?让我们更改上面的程序,非常清楚,如下所示:#include< stdio.h& int int main(void){char * str [] = {“ ab”,“ cd” ;;,“ ef”,“ gh”,“ ij”,“ kl”; }; char * t; // t =(str + 4)[-1]; // printf(“%s <,t); t =(str + 4)[0]; printf(" t:%s ",t); return 0;}毫无疑问,这个程序是ij。看上图即可得到结果,实际上就是这样的转换关系:实际上,编译器系统将数组元素的形式更改为转换为*(a + i)在执行操作之前。
对于一般的数组元素形式:& lt;数组名称& gt; [<下标表达式& gt]]编译器将其转换为:*(<数组名称& lt;数组名称&& (<下标表达式>),其中下标表达式是:下标表达式*扩展因子。整个表达式的计算结果是存储器地址,并且最终结果是:*< address& gt; ==< amp; lt;与该地址& gt对应的单元的地址的内容。
可以看出,用C语言对数组的处理实际上是转换为指针地址的操作。因此,上式的转换结果为:t = *(str + 4); t =(str + 4)[-1] ======= t = *(str + 4-1)======& gt; t = *(str + 3);让我们再次看一下:#include< stdio.h& gt; int main(void){char * str [] = {“ ab”,“ cd”,“ ef”,“ gh” ,“ ij”,“ kl”}; char * t; // t =(str + 4)[-1]; // printf(“%s <,t); t = *(str + 4-1); printf(" t:%s " t); return 0;}操作结果:如果更改措辞,例如:#include& lt; stdio.h& gt; int main(void){int b; int a [10] = { 1,2,3,4,5,6,7,8,9,10}; int * p =& a [0]; b =(p + 8)[-4]; printf( b:%d " b);返回0;}您知道答案是什么吗?相同的算法:继续做好工作!!!通过回顾旧知识来学习新知识,注意基础知识,不要遗漏一些细节!过去的二叉树的奇妙数据结构C语言将xxx.bin文件转换为数组。
不要找它。您想要的C语言的经典示例在这里〜开源STM32产品:无线订购宝使用评估STM32CubeMX + STM32F1系列开发遇到四个问题和解决方案如果您认为这次分享的文章对您有所帮助,请单击[查找]并转发并分享,这也得到了我的支持。

公司: 深圳市捷比信实业有限公司

电话: 0755-29796190

邮箱: tao@jepsun.com

产品经理: 陆经理

QQ: 2065372476

地址: 深圳市宝安区翻身路富源大厦1栋7楼

微信二维码

更多资讯

获取最新公司新闻和行业资料。

  • 铜合金的电阻率和温度系数等电阻参数和其他常用材料系数 铜的电阻率温度系数 1、简介 铜的电阻率温度系数是多少呢?铜的电阻率温度系数定义是什么呢?我们先来纠正下“铜的电阻率温度系数”这个词。铜的电阻率温度系数其实正确的叫“铜的电阻温度系数”。下面介绍到的铜的电...
  • 深入解读WAN3216F190CA4参数手册:选型与开发指南 WAN3216F190CA4参数手册深度解析对于嵌入式系统开发者而言,准确理解WAN3216F190CA4的技术参数是成功设计的基础。本篇文章将从电气特性、引脚定义、时序图及开发建议四个方面进行详细阐述。电气特性与性能指标• 静态电流(Iq)...
  • 分立组件功能数组在现代前端开发中的应用与优化策略 分立组件功能数组在现代前端开发中的核心作用随着前端架构的不断演进,分立组件功能数组已成为构建可维护、可复用和可扩展应用的关键技术之一。它通过将组件的功能逻辑拆分为独立的数组结构,实现了功能模块的解耦,...
  • QA-/3 隔离开关熔断器组(上海人民):一种高效可靠的低压配电解决方案 QA-/3 隔离开关熔断器组是由上海人民电器厂生产的一种集开关与保护功能于一体的电器设备。这种装置广泛应用于低压配电系统中,作为线路及电气设备的不频繁接通和分断操作,并在过载或短路时通过熔断器进行保护。QA-/3 隔...
  • 深入理解分立组件功能数组在稳压器中的协同作用 深入理解分立组件功能数组在稳压器中的协同作用随着电子设备对电源质量要求日益提高,分立组件构建的稳压器系统正展现出更强的适应性和可靠性。其核心在于“功能数组”的科学组织与协同工作。一、什么是分立组件功能...
  • 深入解析分立组件功能数组的设计模式与最佳实践 分立组件功能数组的设计哲学与工程实践分立组件功能数组不仅是一种代码组织方式,更是一种面向可扩展系统的架构思想。其本质是将“行为”与“结构”分离,使组件具备更强的适应能力与演化能力。1. 功能数组的标准化定...
  • 当两个电阻器的两个端子分别连接到另一个电阻器或多个电阻器的每个端子时,称并联电阻 与以前的串联电阻器电路不同,在并联电阻器网络中,电路电流可采用多条路径,因为电流有多条路径。然后,将并联电路分类为电流分配器。由于有多个路径供电源电流流过,因此通过并行网络中所有分支的电流可能不相同。...
  • 电阻可以无限制地串联和并联组合在一起,串联和并联电阻 在先前的教程中,我们学习了如何将各个电阻器连接在一起以形成串联电阻器网络或并联电阻器网络,并且我们使用欧姆定律来找到流入每个电阻器组合的各种电流和电压。但是,如果我们想将各种电阻器在同一电路中以“并联...
  • 保险丝的一般电阻是多少?常用的有哪些 一般保险丝的电阻是多少?例如,额定电流为10A的保险丝和电阻为44欧姆的电器在220V电路中串联连接。我可以忽略保险丝的电阻,将通过电器的电流计算为5A吗?保险电阻器熔断电阻器,也称为熔断电阻器,既是电阻器又是熔断器...
  • 2W电阻指的是电阻功率而非阻值 2W电阻并不是指电阻的阻值,而是指电阻的功率。电阻的阻值一般以欧姆(Ω)为单位,而功率则以瓦特(W)为单位,表示该电阻在一定电压下能够承受的最大功率。因此,2W电阻意味着这款电阻能够承受的最大功率是2瓦特,而不是指...
  • WAN2012H245C04与WAN2012F245H04数据手册深度解析:关键参数与应用指南 WAN2012H245C04与WAN2012F245H04数据手册核心概览WAN2012H245C04与WAN2012F245H04是两款广泛应用于工业控制、自动化系统及智能电网设备中的高性能电子元件。它们均属于同一产品系列,具备高度兼容性与可替代性,适用于多种复杂环境下的稳...
  • 深入解读PTTC聚鼎PT03D3CE规格书:开发与选型指南 PTTC聚鼎PT03D3CE规格书全面解析本文基于官方发布的《PTTC聚鼎PT03D3CE规格书》内容,从硬件设计、软件支持到实际选型建议进行全面梳理,帮助工程师快速掌握该芯片的核心信息。1. 封装与引脚布局PT03D3CE采用LQFP64封装,引脚间距为...
  • 深入理解N沟道MOSFET:性能优化与常见故障排查指南 N沟道MOSFET的性能优势与优化策略相较于传统双极型晶体管,N沟道MOSFET具有高输入阻抗、低静态功耗、快速开关速度等显著优势,广泛应用于现代电子系统中。以下为性能优化的关键点:1. 栅极驱动优化使用合适的栅极驱动电压(...
  • PTTC聚鼎PT05NFC规格书深度解读:开发者必备参考指南 PTTC聚鼎PT05NFC规格书全面解析本文基于官方发布的《PTTC聚鼎PT05NFC规格书》,深入剖析芯片的技术细节、引脚定义、接口协议及开发注意事项,为硬件工程师与软件开发者提供详尽的技术指导。1. 引脚功能说明引脚编号名称功能描...
  • 分立组件中的稳压器设计与功能数组解析 分立组件中的稳压器设计与功能数组解析在现代电子系统中,稳压器作为关键的电源管理元件,广泛应用于各类设备中,以确保电压稳定输出,保护后级电路免受波动影响。而分立组件形式的稳压器因其灵活性和可定制性,成为...
  • 10个问题让你一次性看懂电阻 1、什么是电阻?与电流、电压一样,电阻是电路的基本参数。电阻在电路中是用得最多的一种元器件。顾名思义,电阻是阻碍电流动的一种元器件,与电流是“死对头”。当我们在导体上施加电压时,电荷会以特定方向流过导体...
  • 二极管并联一个小电容的作用 我们在有的电路上会看到有的二极管上并联一只小电容,一般在几pf到0.2uf之间,有什么作用呢?分四种情况一,高频电路       这种电路对二极管的信号要求纯洁度比较高,如门,分离等,因为二极管有...
  • 晶振电路中电容器和电阻器的一些基本原理和功能分析 晶振电路中电容器和电阻器的一些基本原理和功能分析晶体振荡器电路中的电容和电阻是调节和保持晶体振荡器振荡稳定性的关键部件。柯凯青将带您了解晶体振荡器电路中电容和电阻的一些基本原理和功能。电容的作用通过选...
  • 分立组件功能数组在系统设计中的应用与优势 在现代系统的构建中,分立组件功能数组的应用日益广泛,这不仅是因为它能够提高系统的灵活性和可维护性,还因为它能够在复杂的系统环境中实现更高效的资源分配和管理。分立组件功能数组指的是将系统功能按照特定规则...
  • 深入理解60V XMF Series 电阻器:选型指南与常见误区解析 如何正确选择60V XMF Series 电阻器?在实际电路设计中,正确选型60V XMF Series 电阻器是保障系统安全与性能的关键。以下为关键选型建议:1. 电压与功率匹配虽然标称60V耐压,但建议在实际应用中留有20%-30%的安全裕量。例如,在50...