黑马程序员————C语言——数组
来源:互联网 发布:淘宝多少天可换货 编辑:程序博客网 时间:2024/06/03 12:17
一、数组的定义
数组,从字面上看,就是一组数据的意思,没错,数组就是用来存储一组数据的。数组是有序数据的结合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下表来唯一地确定数组中的元素。例如一个班有10个学生,可以用S[1],S[2],S[3].........等代表10个学生的成绩,S是数组名,下标代表学生序号。
1.定义
类型说明符 数组名[常量表达式];
int s[10];
2. 使用
简单初始化:int s[5] = {19, 19, 20, 21, 25};
元素有顺序之分,每个元素都有一个唯一的下标(索引),从0开始
数组元素的访问:a[i]
3.初始化
1>初始化方式
int a[3] = {10, 9, 6}; int a[3] = {10,9}; int a[] = {11, 7, 6}; int a[4] = {[1]=11,[0] = 7};
2>常见错误
int a[];//没有明确数组大小 int[4] a;//写法错误 int a[b];//必须是明确的数组大小 a = {10, 11};//没有数据类型 a[4] = {10,9,8,5};
二、数组的实例
#include <stdio.h>int main(){ // 使用注意 // 都是正确写法 //int ages[5] = {10 , 11, 12, 67, 56}; //int ages[5] = {10, 11}; //int ages[5] = {[3] = 10, [4] = 11}; //int ages[] = {10, 11, 14}; // 错误写法 // int ages[]; // 错误写法 /* 只能在定义数组的同时进行初始化 int ages[5]; ages = {10, 11, 12, 14}; */ // 正确写法 // int ages['A'-50] = {10, 11, 12, 14, 16}; //int size = sizeof(ages); //printf("%d\n", size); // 正确写法 /* int count = 5; int ages[count]; ages[0] = 10; ages[1] = 11; ages[2] = 18; */ //printf(); // 错误写法 // 如果想再定义数组的同事进行初始化,数组元素个数必须是常量,或者不写 //int ages[count] = {10, 11, 12}; int ages[] = {10, 11, 12, 78}; // 计算数组元素的个数 int count = sizeof(ages)/sizeof(int); for (int i = 0; i<count; i++) { printf("ages[%d]=%d\n", i, ages[i]); } return 0;}// 数组的基本使用void arrayUse(){ // 数组的定义格式: 类型 数组名[元素个数]; int ages[5] = {19, 29, 28, 27, 26}; // 19 19 28 27 26] ages[1] = 29; /* ages[0] = 19; ages[1] = 19; ages[2] = 28; ages[3] = 27; ages[4] = 26; */ /* 遍历:按顺序查看数组的每一个元素 */ for (int i = 0; i<5; i++) { printf("ages[%d]=%d\n", i, ages[i]); }}
三、数组与函数
数组作为函数参数,可以省略元素个数。 数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组
#include <stdio.h>void change(int array[])//改变数组元素值得函数{ //printf("array==%p\n", array); array[0] = 100;}int main(){ int ages[6] = {10, 11, 10, 11, 10, 11}; printf("ages==%p\n", ages);//输出sge数组首元素地址 change(ages); printf("%d\n", ages[0]);//输出改变后元素的值 return 0;}
四、二维数组
1.定义
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。一个数组能表示一个班人的年龄,如果想表示很多班呢?什么是二维数组?int ages[3][10]; 三个班,每个班10个人,相当于3行10列,相当于装着3个一维数组。二维数组是一个特殊的一维数组:它的元素是一维数组。例如int a[2][3]可以看作由一维数组a[0]和一维数组a[1]组成,这两个一维数组都包含了3个int类型的元素。
二维数组的表现形式:
数组名[下标][下标]
2.初始化
1>分行给二维数组赋初值
int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
2>可以将所有数据写在一个花括号内,按数组的顺序对各元素赋初值
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
3>可以对部分元素赋初值
int a[3][4] ={{1},{5},{9}};
int a[3][4]={{1},{0,6},{0,0,11}};
五、二 维数组实例
/*将一个二维数组行和列的元素互换,存到另一个二维数组中*/#include <stdio.h>int main(){ int a[2][3] = {{1,2,3},{4,5,6}}; int b[3][2],i,j; printf("array a:\n"); for(i=0;i <= 1;i++) { for(j = 0;j<= 2; j++) { printf("%5d",a[i][j]);//将二维数组输出来,每个字符间空5个 b[j][i] = a[i][j];//将二维数组行和列的元素互换 } printf("\n"); } printf("array b:\n"); for(i = 0;i <= 2;i++) { for(j=0;j <= 1;j++) { printf("%5d",b[i][j]);//将二维数组输出来,每个字符间空5个 } printf("\n"); } return 0;}
- 黑马程序员——C语言数组
- 黑马程序员——C语言数组
- 黑马程序员--C语言——数组
- 黑马程序员——C语言---数组
- 黑马程序员————C语言数组
- 黑马程序员——C语言——数组
- 黑马程序员——C语言——数组
- 黑马程序员——C语言—数组、指针
- 黑马程序员———C语言 一维数组
- 黑马程序员——C语言基础06—数组
- 黑马程序员—C语言—数组 && 字符串
- 黑马程序员——C语言基础--数组和字符串
- 黑马程序员—C语言笔记—数组和字符串
- 黑马程序员——C语言基础---数组、指针
- 黑马程序员——c语言基础:数组和字符串
- 黑马程序员——c语言基础:一维数组
- 黑马程序员——c语言基础:二维数组
- 黑马程序员——C语言笔记之数组
- Tables Tutorial
- 关于dcef3黑屏闪烁的问题
- MeterSSH – Meterpreter over SSH基于SSH的meterpreter
- 自然图像里的文本检测和识别2010-2014年论文汇总
- tomcat 性能调优
- 黑马程序员————C语言——数组
- android onSaveInstanceState方法
- jQuery分类过滤和排序布局插件-Isotope
- ODBC开放数据库互连
- 解决CentOS 6下安装ipvsadm-1.26报错
- [LeetCode] Linked List Cycle II
- Linux 下挂载硬盘
- https request
- win10开始菜单没有反应