黑马程序员--C语言数组
来源:互联网 发布:上海程序员工资水平 编辑:程序博客网 时间:2024/04/29 14:56
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
int main(){ //数组名 代表地址 //数组的定义格式: 类型 数组名【元素个数】; 如果要在定义数组的同时进行初始化,数组元素个数 只能是常量 或者不写 // 数组的特点 只能存放一种类型的数据,比如int类型的数组、float类型的数组 里面存放的数据称为"元素" // int ages[5]; //int ages[5] = {//int ages[] = {19,19,22,27,26};}; 或者 int ages[] = {19,19,22,27,26}; // 元素:19 19 22 27 26 // int ages = [[3]=22, [5]=26]; /* 元素有顺序之分,每个元素都有一个唯一的下标(索引),从0开始 数组元素的访问:a[i] 如: ages[0] = 19; ages[1] = 19; ages[2] = 22; ages[3] = 27; ages[4] = 26; 数组存储空间的划分:内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的 数组名的作用:查看元素地址 数组作为函数参数 // 数组作为函数参数,可以省略元素个数 // 数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组 */ // 遍历:按顺序查看数组的每一个元素(while循环和for循环) int ages[] = {1, 2, 88, };// 为了使元素个数可以更改方便 int count = sizeof(ages)/sizeof(int);// 定义变量count 存储元素个数 for (int i = 0; i < count; i++)// 遍历整个数组 { printf("ages[%d]=%d\n",i ,ages[i]);// 打印整个数组元素 } return 0;}
数组的简单练习
int main()//数组名 就代表地址 首元素地址即元素组地址{ char cs[5]= {'a','c','d','f','b'};// 定义一数组 printf("%p\n",cs); for (int i = 0; i<5; i++) { printf("cs[%d]的地址是%p\n",i,&cs[i]); } return 0;}
//二维数组
二维数组是一个特殊的一维数组:它的元素是一维数组。例如int a[2][3]可以看作由一维数组a[0]和一维数组a[1]组成,
这两个一维数组都包含了3个int类型的元素
数组与函数
// 设计一个函数,找出整形数组元素的最大值
int maxOfArray(int array[],int length){ //定义一个变量存储最大值(默认就是首元素) int max = array[0]; //遍历整个数组 找出最大值 for (int i = 1; i<length; i++) { //如果当前元素大于Max,就用当前元素覆盖max if (array[i]>max) { max = array[i]; } } return max;}int main(){ int ages[] = {11,12,34,56,78,90}; int max = maxOfArray(ages, sizeof(ages)/sizeof(int)); printf("%d\n",max); return 0;}
字符串数组
1.使用场合
* 一维字符数组中存放一个字符串,比如一个名字char name[20] = “mj”
* 如果要存储多个字符串,比如一个班所有学生的名字,则需要二维字符数组,char names[15][20]可以存放15个学生的姓名(假设姓名不超过20字符)
* 如果要存储两个班的学生姓名,那么可以用三维字符数组char names[2][15][20]
2.初始化
char names[2][10] = { {‘J’,’a’,’y’,’\0’}, {‘J’,’i’,’m’,’\0’} };
char names2[2][10] = { {“Jay”}, {“Jim”} };
char names3[2][10] = { “Jay”, “Jim” };
练习
// 打印字符串数组中的某个字符
#include <stdio.h>#include <string.h>int char_contains(char str[], char c);// 声明int main(){ char name[] = "itcast";// 定义一个字符串 int result = char_contains(name, 't'); printf("%d\n",result);}int char_contains(char str[], char c){ for (int i = 0;i<strlen(str);i++)// 遍历整个字符串 { if (str[i] == c) { return 1; } } return 0;}
0 0
- 黑马程序员--C语言数组
- 【黑马程序员】【C语言】数组
- 【黑马程序员】C语言数组
- 黑马程序员 - C语言 - 数组
- 黑马程序员——C语言数组
- 黑马程序员---C语言数组与字符串
- 黑马程序员-C语言数组
- 黑马程序员---C语言数组与字符串
- 黑马程序员-c语言数组
- 10、黑马程序员-C语言数组
- 黑马程序员——C语言数组
- 黑马程序员------C语言-----数组和字符串
- 黑马程序员--C语言 数组 字符串
- 黑马程序员---c语言 数组和字符串
- 黑马程序员---【C语言】04数组
- 黑马程序员--C语言基础--数组
- 黑马程序员IOS-C语言-数组、字符串
- 黑马程序员--C语言基础-数组
- Class()和反射
- samba错误:session setup failed: NT_STATUS_LOGON_FAILURE
- 照片的OCR识别
- MYSQL用户相关操作
- Ubuntu 12.04 安装stardict词典(星际译王)
- 黑马程序员--C语言数组
- 为啥Android手机总会越用越慢?
- MySQL Connector/C++ 方法
- J2EE框架(Struts&Hibernate&Spring)的理解
- 正则表达式 常用正则表达式
- 64 位 win7 使用PLSQL Developer
- oracle导出数据库里的表为dmp文件
- windows下使用NDK
- 获取当前工作路径