数组(三)
一、二维数组在内存中的存储像一维数组一样我们如果想研究二维数组在内存中的存储方式我们也是可以打印数组所有元素的地址的代码如下可自行验证#includestdio.hint main() {int arr[3][5] { 0 };int i 0;int j 0;for (i 0; i 3; i) {for (j 0; j 5; j) {printf(arr[%d][%d] %p\n, i, j, arr[i][j]);}}return 0;}从运行结果可以看出二维数组中的每个元素都是连续存放的。二、C99中的变长数组简称VLA在C99之前C语言在创建数组的时候数组的大小只能使用常量、常量表达式或者如果我们初始化数据的话可以省略数组的大小这样的语法限制让我们创建数组时不够灵活有时候数组大了浪费空间小了不够用。C99给定一个变长数组variable-length array,简称VLA的新特性允许我们使用变量指定数组的大小。例如int n a b;int arr[n];上面示例中数组arr是变长数组,因为它的长度取决于变量n的值,编译器无法事先确定只有运行时才知道n是多少变长数组的根本特征就是数组长度只有运行时才能确定所以变长数组不能初始化它的好处是程序员不必在开发时随意一维数组指定一个估计的长度程序可以在运行时为数组分配精确的长度有一个比较迷惑的点变长数组的意思是数组的大小是可以使用变量来指定的在程序运行的时候根据变量的大小指定数组的元素个数而不能说数组的大小是可变的数组的大小一旦确定就不能再变化遗憾的是在vs 2022上虽然支持大部分C99的语法但是不支持C99中的变长数组没有办法进行测试。三、数组练习3.1练习一多个字符从两端移动向中间汇聚编程题多个字符从两端移动向中间汇聚代码如下可自行测试#includestdio.hint main() {char a1[] welcome to hunan...;char a2[] ###################;int l 0;int r strlen(a1) - 1;printf(%s\n, a2);while (l r) {Sleep(1000);a2[l] a1[l];a2[r] a1[r];l;r--;printf(%s\n, a2);}return 0;}3.2练习二二分查找二分查找又称折半查找是一种在有序数组中快速查找目标值的算法。核心思想 每次比较数组中间的元素与目标值 如果相等查找成功 如果中间值太大就在左半部分继续找 如果中间值太小就在右半部分继续找。如此反复每次将查找范围缩小一半。代码附在最后可自行验证#includestdio.hint main() {int arr[] { 1,2,3,4,5,6,7,8,9,10 };int len sizeof(arr) / sizeof(arr[0]);int left 0;int right len - 1;int key 7;int find 0;int mid 0;while (left right) {mid (left right) / 2;if (arr[mid] key) {right mid - 1;}else if (arr[mid] key) {left mid 1;}else {find 1;break;}}if (1 find) {printf(找到了下标是%d\n, mid);}else {printf(找不到\n);}return 0;}感谢你阅读这篇关于C语言二维数组的入门指南希望这篇文章能帮你打牢基础、理清概念。编程之路贵在实践与交流——如果你有任何疑问、建议或者想分享你的学习心得欢迎在评论区留言也别忘了关注我的博客我会持续更新更多通俗易懂、干货满满的编程教程。让我们一起在代码的世界里不断进步共同成长下一期预告《单身狗编程题》即将上线深入更多实用技巧与经典案例

相关新闻

数组(二)

数组(二)

2026/5/17 0:18:04 阅读更多 →
Day52 >> 101、孤岛的总面积 + 102、沉默孤岛 + 103、水流问题 + 104、建造最大岛屿

Day52 >> 101、孤岛的总面积 + 102、沉默孤岛 + 103、水流问题 + 104、建造最大岛屿

2026/5/17 0:18:03 阅读更多 →
快捷键:Ctrl+Shift+P打开命令面板

快捷键:Ctrl+Shift+P打开命令面板

2026/5/17 0:18:03 阅读更多 →

最新新闻

【限时解锁】GPTs高级权限开通教程:如何用企业邮箱+SSO凭证抢占首批GPTs商业发布通道?

【限时解锁】GPTs高级权限开通教程:如何用企业邮箱+SSO凭证抢占首批GPTs商业发布通道?

更多请点击: https://codechina.net 第一章:GPTs自定义创建的核心机制与商业价值定位 GPTs(Generative Pre-trained Transformers)的自定义创建并非简单配置界面,而是依托OpenAI提供的GPT Builder平台,通过…

2026/7/3 9:40:47 阅读更多 →
软考高级机考答题节奏掌控:5步时间切割法+实时监控技巧,92%考生不知道的抢分密钥

软考高级机考答题节奏掌控:5步时间切割法+实时监控技巧,92%考生不知道的抢分密钥

更多请点击: https://kaifayun.com 第一章:软考高级机考答题节奏掌控的核心逻辑 机考环境下,答题节奏并非单纯的时间分配问题,而是认知负荷、题型特征与系统交互三者动态耦合的结果。考生需在“读题—建模—检索—作答—验证”闭…

2026/7/3 9:40:47 阅读更多 →
APKMirror安卓客户端:3步掌握安全APK下载与版本管理全攻略

APKMirror安卓客户端:3步掌握安全APK下载与版本管理全攻略

APKMirror安卓客户端:3步掌握安全APK下载与版本管理全攻略 【免费下载链接】APKMirror 项目地址: https://gitcode.com/gh_mirrors/ap/APKMirror 还在为找不到特定版本的安卓应用而烦恼吗?APKMirror安卓客户端就像你的私人应用管家,让…

2026/7/3 9:38:46 阅读更多 →
网盘直链下载助手完整指南:告别限速,实现9大网盘高速下载

网盘直链下载助手完整指南:告别限速,实现9大网盘高速下载

网盘直链下载助手完整指南:告别限速,实现9大网盘高速下载 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移…

2026/7/3 9:36:46 阅读更多 →
如何用嘎嘎降AI处理法学论文:法学毕业论文降AI免费4.8元完整操作教程

如何用嘎嘎降AI处理法学论文:法学毕业论文降AI免费4.8元完整操作教程

如何用嘎嘎降AI处理法学论文:法学毕业论文降AI免费4.8元完整操作教程 关于法学论文降AI教程,有几个细节提前知道能少走很多弯路。 核心用嘎嘎降AI(www.aigcleaner.com),4.8元,达标率99.26%。这篇把容易忽…

2026/7/3 9:36:46 阅读更多 →
如何快速获取主流网盘真实下载地址:免费直链解析工具指南

如何快速获取主流网盘真实下载地址:免费直链解析工具指南

如何快速获取主流网盘真实下载地址:免费直链解析工具指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…

2026/7/3 9:36:46 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻