黑马程序员关于c语言数组详解
来源:互联网 发布:windows集中管理 编辑:程序博客网 时间:2024/04/30 15:16
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -----
我们想要保存一个int型数据可以用一个变量来保存,可是如果我们要保存相同类型的100个int型的变量呢?不可能用100个变量来保存吧,于是我们用到了数组,用数组来保存这100个数据就简单方便多了。
数组:数组从字面意义上解释,就是一组数据,所以数据就是用来保存一组数据的。
特点:只能存储相同类型的数据,可以是int,也可以是float,或者其他一些相同的数据类型,我们把保存的数据称为“元素”。
一维数组:
1.定义: 声明数组的类型和元素个数
2.格式:元素类型 数组名[元素个数] 比如:int ages[5]
3.初始化
正确初始化:
int ages[5]={18,19,23,27,21};
int ages[]={18,19,23,27,21};
int ages[5]={18,19,23,27};
int ages[5]={[1]=19,[4]=21};
列举一些错误写法:
int ages;
int ages[];
int[5] ages;
ages[5]={18,19,23,27,21};
ages={18,19,23,27,21};
4.内存分析:
数组存储空间大小要合适
内存分配是从高地址到低地址进行的,但是数组元素是从低地址到高地址开始分配的
数组名可以作为首元素地址进行访问,比如ages,就可以当做ages[0]的地址
下面举一个例子:输入5个学生的成绩,计算并输出平均分,最高分和最低分。
#include <stdio.h>int main(){float average(int a[],int n); int Max(int a[],int n);int Min(int a[],int n);float a;int b,c;int score[5];printf("请输入5个学生的成绩:\n");for(int i=0;i<5;i++)scanf("%d",&score[i]);a=average(score,5);b=Max(score,5);c=Min(score,5);printf("平均分是:%0.2f,最高分是:%d,最低分是:%d\n",a,b,c);return 0;}float average(int a[],int n){float sum=0;for(int i=0;i<n;i++)sum += a[i];return sum/n;}int Max(int a[],int n){int max = a[0]; for(int i=1;i<n;i++)if(max < a[i])max = a[i];return max;}int Min(int a[],int n){int min = a[0]; for(int i=1;i<n;i++)if(min > a[i])min = a[i];return min;}
运行截图:
二维数组:
1.定义: 声明数组的类型和元素的行数和列数
2.格式:元素类型 数组名[行数][列数] 比如:int a[3][4];
3.初始化
正确初始化:
int a[2][3]={1,2,3,4,5,6};
int a[2][3]={{1,2},{3,4},{5,6}};
int a[][3]={1,2,3,4,5,6};
列举一些错误写法:
int a[2][3];a[2][3]={1,2,3,4,5,6}; //二维数组定义和初始化不能分步,要在定义声明的时候进行初始化
比如初始化三个人(小红,小明,小刚)的数学和英语成绩并打印出来就可以用二维数组为:
#include <stdio.h>int main(){float score[3][2]={89,78,90,88,86,96};// float score[3][2]={{89,78},{90,88},{86,96}};printf("小红的数学成绩:%0.2f,英语成绩:%0.2f\n",score[0][0],score[0][1]);printf("小明的数学成绩:%0.2f,英语成绩:%0.2f\n",score[1][0],score[1][1]);printf("小刚的数学成绩:%0.2f,英语成绩:%0.2f\n",score[2][0],score[2][1]);return 0;}
运行截图:
0 0
- 黑马程序员关于c语言数组详解
- 黑马程序员--C语言数组
- 【黑马程序员】【C语言】数组
- 【黑马程序员】C语言数组
- 黑马程序员 - C语言 - 数组
- 黑马程序员——C语言数组
- 黑马程序员---C语言数组与字符串
- 黑马程序员-C语言数组
- 黑马程序员---C语言数组与字符串
- 黑马程序员-c语言数组
- 10、黑马程序员-C语言数组
- 黑马程序员——C语言数组
- 黑马程序员------C语言-----数组和字符串
- 黑马程序员--C语言 数组 字符串
- 黑马程序员---c语言 数组和字符串
- 黑马程序员---【C语言】04数组
- 黑马程序员--C语言基础--数组
- 黑马程序员IOS-C语言-数组、字符串
- Java历史
- [js] js 将字符串xml 转成 json对象
- 文章标题
- 视图篇——前言
- 郑州到威海旅游景点推荐
- 黑马程序员关于c语言数组详解
- Activity 實現底部彈框
- linux内核学习-7重要函数(关注新浪微博:寂寞侵蚀的岁月(4000多篇技术分享))
- 初始化、赋值及内存模型
- poj 3345 Bribing FIPA
- 在windows系统下配置phpstorm下的ideavim
- Ant 打包黑框闪退, 并且没有报错。
- UML类图
- 解决provisional headers are shown的过程