当前位置: 首页 > news >正文

第七章 数组【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"); } }

http://www.jsqmd.com/news/514033/

相关文章:

  • 如何快速构建个人技术博客聚合平台:Kilimchoi Engineering Blogs框架完整指南
  • 当信号遇见MATLAB:手把手玩转采样与重建的魔法
  • DeepSeek-R1长文本处理指南:400万token上下文的高效优化技巧
  • 24/7自动化助手:OpenClaw+Qwen3-32B实现定时任务
  • Qwen3-32B大模型GPU算力优化教程:RTX4090D下vLLM张量并行配置指南
  • HTML转图片不求人:Python imgkit + wkhtmltoimage的5分钟快速入门教程
  • 若依(ruoyi)字典管理实战:如何在Thymeleaf中高效使用下拉框与单选框
  • 如何快速掌握 Stremio Core:开源媒体中心的核心引擎全指南
  • FlutterBoost快速集成模板:5分钟搭建项目骨架的完整指南
  • TradingView金融数据提取终极指南:3步获取高质量市场数据
  • 百度开发者必看:Qwen3-32B-Chat私有化部署全流程——从镜像拉取到API调用
  • Java vs C++:核心差异全解析
  • 终极云端渗透测试速查表:3大云平台安全检测与防御指南
  • 30分钟搞定:OpenClaw+Qwen3-32B搭建个人知识库
  • 终极指南:Ubuntu软件中心开源项目完全解析
  • 【亲测免费】探索Web 3.0:IPFS Companion - 你的去中心化网络助手
  • 立知-lychee-rerank-mm详细步骤:单文档评分+批量重排序双模式教学
  • Qwen3-ASR-1.7B部署教程:netstat端口检查+7860服务健康状态诊断方法
  • 终极指南:如何快速掌握React DocGen自动生成组件文档的10个技巧
  • Matlab Simulink DC-DC电路Buck与Boost转换器设计:电感电容参数优化...
  • openclaw的安装和浏览器访问控制后台
  • HP-Socket开源项目捐赠者鸣谢方式:完整指南与最佳实践
  • 如何快速掌握Laratrust:Laravel权限管理的完整指南
  • BBDown:构建个人媒体库的高效视频获取方案
  • 终极指南:如何使用MyBatis Dynamic SQL快速构建类型安全的动态SQL查询
  • DotWeb:Go语言微框架的终极指南 - 快速构建高性能Web应用
  • 如何使用Material Motion Swift框架创建流畅的iOS动画交互:完整入门指南
  • Terratest中的测试配置管理:处理复杂环境变量的终极指南
  • 学术研究助手:OpenClaw+ollama-QwQ-32B文献分析工作流
  • Cygwin64 Terminal 记录命令及返回结果