总结C语言中的数组知识点
数组只能存放一种数据类型比如int类型的数组、float类型的数组里面存放的数据称为“元素”。数组的定义首先声明数组的类型然后声明数组元素的个数也就是定义需要多少存储空间。数组格式与初始化格式元素类型 数组名[元素个数];比如int[3];数组元素有顺序之分每个元素都有一个唯一的下标索引而且都是从0开始。数组中第i个元素的访问方式:a[i]数组元素的初始化int a[3] {10, 9, 6};int a[3] {10,9};int a {11, 7, 6};int a[4] {[1]11,[0] 7};里面的个数必须是一个固定值可以是常量(比如6、8)、常量表达式(比如34、5*7)。绝对不能使用变量或者变量表达式来表示元素个数大多数情况下不要省略元素个数当数组作为函数的形参和数组初始化时除外。C语言中编译器是不会对数组下标越界进行检查的所以自己访问数组元素时要注意。一维数组数组的内存细节分析#includeint main{char cs[5] {a,A,D,e,f};printf(%p\n,cs); // 数组名就代表数组的地址for (int i 0; i{printf(cs[%d]的地址是:%p\n,i ,cs[i]);}return 0;}上面代码中地址分配分析如下一维数组的元素作为函数实参与同类型的简单变量作为实参一样是单向的值传递即数组元素的值传给形参从而形参是改变不影响实参。数组名代表着整个数组的地址如果一维数组的名字作为函数实参传递的是整个数组即形参数组和实参数组完全相同是存放在同一存储空间的同一个数组。这样形参数组修改时实参数组也同时被修改了。形参数组的元素个数可以省略。// b是test函数的形参(形式参数)voidtest(int b){b 9;}intmain{int a[3];a[0] 10;printf(函数调用前的a[0]%d\n, a[0]);test(a[0]); // a[0]是test函数的实参(实际参数)printf(函数调用后的a[0]%d, a[0]);return0;}#include//数组作为函数参数可以省略元素个数//数组作为函数参数传递是整个数组的地址修改了函数形参数组元素的值会影响到外面的实参数组void change(int array[]){printf(array %p\n,array);array[0] 100;}int main{int ages[6] {10,11,13,15,11,18};printf(array %p\n,ages);change(ages);printf(%d\n,ages[0]);return 0;}输出结果为array 0x7fff5be26c00array 0x7fff5be26c00100数组的小练习找最大值/*设计一个函数找出整型数组元素的最大值*/#includeintmaxOfArray(color:#ff0000;intarray[], int length){color:#ff0000;// 数组当做函数参数传递时会当做指针变量来使用指针变量在64bit编译器环境下占据8个字节//int size sizeof(array);//printf(array%d\n, size);//sizeof(array);// 1.定义一个变量存储最大值(默认就是首元素)int max array[0];// 2.遍历所有元素找出最大值for (int i 1; i{// 如果当前元素大于max就用当前元素覆盖maxif (array[i] max){max array[i];}}return max;}intmain{int ages {11, 90, 67, 150, 78, 60, 70, 89, 100};int ages2 {11, 90, 67, 150, 78, 60, 70, 89, 100};//int size sizeof(ages);//printf(ages%d\n, size);int max maxOfArray(ages, color:#ff0000;sizeof(ages)/sizeof(int));printf(%d\n, max);return0;}二维数组一个数组能表示一个班人的年龄如果想表示很多班呢二维数组是一个特殊的一维数组它的元素是一维数组。例如int a可以看作由一维数组a和一维数组a组成这两个一维数组都包含了3个int类型的元素。定义形式类型 数组名[ 行数] [列数]int a[2][3]; //2行3列的二维数组二维数组的存放顺序是按行存放的先存放第一行的元素再存放第2行的元素。例如int a的存放顺序是a[0][0] → a[0][1] → a[0][2] → a[1][0] → a[1][1] → a[1][2]二维数组的内存存储分配注意a、a也是数组是一维数组而且a、a就是数组名因此a、a就代表着这个一维数组的地址。二维数组的初始化int ages2[3][5] {{10, 11, 90, 89, 70},{10, 11, 90, 89, 70},{10, 11, 90, 89, 70}};

相关新闻

Blender插件生态完全指南:从效率瓶颈到专业级工作流优化

Blender插件生态完全指南:从效率瓶颈到专业级工作流优化

Blender插件生态完全指南:从效率瓶颈到专业级工作流优化 【免费下载链接】awesome-blender 🪐 A curated list of awesome Blender addons, tools, tutorials; and 3D resources for everyone. 项目地址: https://gitcode.com/GitHub_Trending/aw/awes…

2026/7/26 22:03:08 阅读更多 →
石黑一雄文学创作中的跨文化叙事与记忆重构

石黑一雄文学创作中的跨文化叙事与记忆重构

1. 石黑一雄的文学世界:跨越边界的叙事艺术石黑一雄的文字总带着一种奇特的疏离感,就像透过毛玻璃观察一场精心编排的戏剧。这位生于日本长崎、五岁随家人移居英国的小说家,用英语写作却始终保持着东方叙事特有的克制与留白。2017年诺贝尔文学…

2026/7/26 9:48:44 阅读更多 →
GPS轨迹分析终极指南:GPXSee开源工具完整使用教程 [特殊字符]️

GPS轨迹分析终极指南:GPXSee开源工具完整使用教程 [特殊字符]️

GPS轨迹分析终极指南:GPXSee开源工具完整使用教程 🗺️ 【免费下载链接】GPXSee GPS log file viewer and analyzer with support for GPX, TCX, KML, FIT, IGC, NMEA, SLF, SML, LOC, GPI, GeoJSON and OziExplorer files. 项目地址: https://gitcode…

2026/7/26 22:03:10 阅读更多 →

最新新闻

FastGPT开源AI平台:企业级智能问答系统搭建指南

FastGPT开源AI平台:企业级智能问答系统搭建指南

1. 项目概述:FastGPT能为你带来什么? 最近半年,大语言模型(LLM)的应用开发呈现爆发式增长。FastGPT作为一款开源的AI知识平台构建工具,允许开发者基于现有大模型快速搭建垂直领域的智能问答系统。我在三个企…

2026/7/26 22:17:39 阅读更多 →
COM3D2.MaidFiddler:打破游戏界限的终极女仆编辑器

COM3D2.MaidFiddler:打破游戏界限的终极女仆编辑器

COM3D2.MaidFiddler:打破游戏界限的终极女仆编辑器 【免费下载链接】COM3D2.MaidFiddler Maid Fiddler for COM3D2 -- a real-time value editor for COM3D2 项目地址: https://gitcode.com/gh_mirrors/co/COM3D2.MaidFiddler 你是否曾经玩COM3D2时觉得游戏中…

2026/7/26 22:17:39 阅读更多 →
解释性编程:从AI助手到开发效率提升的实践指南

解释性编程:从AI助手到开发效率提升的实践指南

1. 从手动编码到智能解释:开发效率的范式转变在软件开发领域,我们正经历着从"亲自动手编码"到"向计算机解释需求"的根本性转变。这种变化不仅体现在AI编程助手的普及,更深入到开发流程的各个环节。作为一名长期奋战在一线…

2026/7/26 22:17:39 阅读更多 →
开源AI代理Hermes 0.8核心架构与生产实践

开源AI代理Hermes 0.8核心架构与生产实践

1. 项目概述 Hermes Agent 0.8是近期开源AI代理领域的一个重要里程碑版本。作为一名长期跟踪自主代理技术发展的从业者,我在实际生产环境中测试这个版本后,发现它在任务规划、工具调用和长期记忆等方面带来了显著提升。这次更新不仅仅是功能迭代&#xf…

2026/7/26 22:17:39 阅读更多 →
GLM-OCR:轻量级多模态光学字符识别框架解析

GLM-OCR:轻量级多模态光学字符识别框架解析

1. 项目概述GLM-OCR是一个基于多模态学习的轻量级光学字符识别(OCR)框架,它在保持模型轻量化的同时实现了识别精度的显著提升。这个项目最吸引我的地方在于它巧妙地将视觉特征与语言特征相结合,解决了传统OCR系统在复杂场景下识别…

2026/7/26 22:17:39 阅读更多 →
AI自动化剪辑一体机:电商短视频高效生产方案

AI自动化剪辑一体机:电商短视频高效生产方案

1. 项目背景与需求拆解去年帮一家电商公司做效率优化时,发现他们内容团队5个人全职负责短视频剪辑和配音工作,每月人力成本接近4万元。仔细分析工作流后发现,70%的时间都花在重复性操作上:统一格式转换、基础剪辑、标准化配音生成…

2026/7/26 22:16:39 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻