news 2026/9/29 7:50:20

第七章 数组【C语言】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第七章 数组【C语言】


一、数组的概念

、

二、 一维数组

(一)定义

(二)初始化

没有赋初值,B[ ]所有元素是未知的

(四)存储

int a0,a1,a2,a3,a4;----- 不连续的存储空间
int arr[5]; ------占用连续的存储空间

printf("%d\n",sizeof(a0));
printf("%d\n",sizeof(arr));//输出数组arr占据的字节:5*4
printf("总字节数:%d\n",sizeof(arr));//总字节数=sizeof(类型)*数组长度
printf("长度:%d\n",sizeof(arr)/sizeof(int));//数组长度=总字节数/sizeof(类型)
printf("长度:%d\n",sizeof(arr)/sizeof(arr[0]));//常用arr[0],因为任何数组肯定有arr[0]

(五)引用

#define size 5 int main(void) { int i=0; int arr[size]={0}; //顺序输入 for(i=0;i<size;i++){ printf("请输入第%d个数据:",i+1); scanf("%d",&arr[i]); } //顺序输出 for(i=0;i<size;i++){ printf("%d\n",arr[i]); } return 0; }

(五)一维数组作为函数参数

#define size 5 void intput(int a[],int len);//函数的声明 void output(int a[],int len); int main(void){ int i=0; int arr[size]={0}; intput(arr,size); output(arr,size); return 0; } //函数的功能: 顺序输入一维数组的数据 //一维数组作为函数参数 void intput(int a[],int len){ int i=0; //顺序输入 for(i=0;i<len;i++){ printf("请输入第%d个数据:",i+1); scanf("%d",&a[i]); } } void output(int a[],int len){ int i=0; //顺序输出 for(i=0;i<len;i++){ printf("请输入第%d个数据:%d\n",i+1,a[i]); } }

三、 二维数组

(一)定义

(二)初始化

int b[M][N]={{1,2,3},{},{4,5}}; 错误
int b[M][N]={{1,2,3},{0},{4,5}};正确

(三)存储

(四)引用

(五)遍历

#define M 3 #define N 4 int main(void) { int arr[M][N] = {{1,4,7,10},{2,5,8,11},{3,6,9,12}}; int i = 0,j = 0; //按行操作 for(i=0 ;i<M ;i++)//行下标遍历 { for(j=0 ; j<N; j++)//列下标遍历 { printf("%d\t" , arr[i][j]); // \t:打印一个tab键 } printf("\n"); } //按列操作 for(j=0 ; j<N; j++)//列下标遍历 { for(i=0 ;i<M ;i++)//行下标遍历 { printf("%d\t" , arr[i][j]); // \t:打印一个tab键 } printf("\n"); } return 0; }

(六)二维数组作为函数参数

#define M 3 #define N 4 void output(int b[M][N],int row,int column ); int main(void) { int arr[M][N] = {{1,4,7,10},{2,5,8,11},{3,6,9,12}}; int i = 0,j = 0; output(arr,2,3); //函数的调用 return 0; } void output(int b[M][N],int row,int column ){ //也可写成int b[ ][N] int i=0,j=0; for(i=0 ;i<row ;i++)//行下标遍历 { for(j=0 ; j< column ; j++)//列下标遍历 { printf("%d\t" , b[i][j]); } printf("\n"); } }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 9:45:12

24/7自动化助手:OpenClaw+Qwen3-32B实现定时任务

24/7自动化助手&#xff1a;OpenClawQwen3-32B实现定时任务 1. 为什么需要自动化定时任务&#xff1f; 凌晨三点&#xff0c;我的服务器突然宕机了。当我第二天早上发现时&#xff0c;已经错过了黄金恢复期。这次事故让我意识到——人类需要睡眠&#xff0c;但机器不需要。如…

作者头像 李华
网站建设 2026/8/23 9:45:13

Qt中线程的使用

Qt中线程的使用 在qt中线程的使用有两种方式&#xff0c;第一种就是创建一个类继承QObject类&#xff0c;之后使用moveToThread函数将线程添加到类中。另一种就是创建一个类继承QThread类&#xff0c;在类中实现run函数。 第一种方式&#xff1a; 1、首先创建一个自定义的类…

作者头像 李华
网站建设 2026/8/23 9:45:14

Android逆向实战:用Frida+Frida-dexdump一键脱壳APK(附完整命令清单)

Android逆向实战&#xff1a;Frida与frida-dexdump高效脱壳技术解析 在移动安全研究领域&#xff0c;APK加固技术日益复杂&#xff0c;传统静态分析方法往往难以获取完整代码逻辑。Frida动态插桩框架配合frida-dexdump工具链&#xff0c;已成为逆向工程师突破加固防线的利器。本…

作者头像 李华
网站建设 2026/8/23 9:45:14

AI专著写作新趋势!工具大集合,让学术专著创作不再繁琐

对于学术研究者来说&#xff0c;撰写一本学术专著并不是一次灵光乍现的成就&#xff0c;而是一场漫长的“持久战”。从一开始的选题想法&#xff0c;到逐步搭建出严谨的章节结构&#xff0c;再到字斟句酌地填充内容、核查文献引用&#xff0c;这每一步都充满了困难。研究者们不…

作者头像 李华
网站建设 2026/8/23 9:45:13

免费开源IT资产管理系统:Snipe-IT让企业资产管理变简单

免费开源IT资产管理系统&#xff1a;Snipe-IT让企业资产管理变简单 【免费下载链接】snipe-it A free open source IT asset/license management system 项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it 还在为混乱的IT资产而头疼吗&#xff1f;想象一下&am…

作者头像 李华