C语言学习笔记(四)数组
2014-06-06 17:38
423 查看
一、数组
1.数组基本使用
2.数组注意
3,数组在当作函数传递时,传递的是数组的地址,会当做指针变量来使用。
注意点:
如果在c语言中 不声明函数的类型,默认是int类型。
1.数组基本使用
// 数组的定义格式: 类型 数组名[元素个数]; 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]); }
2.数组注意
#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; }
3,数组在当作函数传递时,传递的是数组的地址,会当做指针变量来使用。
#include <stdio.h> // 数组作为函数参数,可以省略元素个数 // 数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组 void change(int array[]) { //printf("array==%p\n", array); array[0] = 100; } void change2(int n) { n = 100; } int main() { int ages[6] = {10, 11, 10, 11, 10, 11}; //printf("ages==%p\n", ages); change(ages); //change2(ages[0]); printf("%d\n", ages[0]); return 0; }
注意点:
如果在c语言中 不声明函数的类型,默认是int类型。
/* 设计一个函数,找出整型数组元素的最大值 */ #include <stdio.h> int maxOfArray(int array[], int length) { // 数组当做函数参数传递时,会当做指针变量来使用,指针变量在64bit编译器环境下,占据8个字节 //int size = sizeof(array); //printf("array=%d\n", size); //sizeof(array); // 1.定义一个变量存储最大值(默认就是首元素) int max = array[0]; // 2.遍历所有元素,找出最大值 for (int i = 1; i<length; i++) { // 如果当前元素大于max,就用当前元素覆盖max if (array[i] > max) { max = array[i]; } } return max; }
相关文章推荐
- 【黑马程序员】C语言学习笔记之数组(九)
- C语言学习笔记之成员数组和指针
- 黑马程序员——IOS学习笔记(C语言字符串和数组)
- C语言学习笔记6-数组
- 学习笔记4-C语言数组和字符串
- C语言学习笔记【数据的寄生巢穴】搭建一二维数组与字符数组
- 【C语言学习笔记】数组、字符串、指针
- C语言学习笔记(19) 多维数组和多维指针分析
- C语言学习笔记:17_数组-一维数组(基本操作,选择和冒泡排序,斐波那契数列)
- C语言学习笔记(20) 数组参数和指针参数分析
- C语言学习笔记【结构体01】结构体变量与结构体数组
- C语言学习笔记之指向数组元素的指针和指向数组的指针
- C语言学习笔记:数组
- C语言学习笔记【指针04】指针数组与指向指针的指针 推荐
- 数组和指针————C语言学习笔记1
- 【C语言】学习笔记:字符串与字符数组
- C语言学习笔记(六) -数组 Arrays
- 【学习笔记】【C语言】数组
- 黑马程序员---C语言学习笔记之数组的基本概念和分类
- C语言学习笔记(18) 指针数组和数组指针分析