《黑马程序验》数组与函数(C语言)

一、数组的概念

1.一维数组的定义与使用

int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的

array[0] = 20;
array[1] = 30;
array[9] = 80;

错误写法:

//array[10] = 100;//没有 array[10]这个元素

数组在内存中就是一段连续的空间,每个元素的类型是一样的

2.一维数组初始化

int array[10] = { 100, 1, 5, 3, 4, 5, 6, 7, 8, 0 };//定义数组的同时为数组的成员初始化值
int array[10] = { 3, 7, 9 };//将数组的前三个元素赋值,其余元素置为0
int array[10] = { 0 };//将数组所有的元素都置为0

//通过循环遍历数组的每个元素,将元素的值置为0
int i;
for (i = 0; i < 10; i++)
{
	array[i] = 0;//通过循环遍历数组的每个元素,将元素的值置为0
}

 二、数组内部存储结构

int main()
{
       char array[5] = {'a','A','b','B','c'};
       for(int i = 0;i <5;i++)
       {
         printf("array[%d] = %c
",i,array[i]);    
       }
      return 0;
}

1.内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的

2.数组名代表了数组的存储地址

3.数组元素的地址为其存储空间的首字节

三、数组和函数

1.数组作为函数参数,如果传递的是数组的地址,那么修改函数形参数组元素的

2.64 bit 编译环境下指针占8个字节

3.如果形参内是基本数据类型则是值传递,不改变数组元素的值

数组实例:

四、二维数组

1.定义与使用

定义:二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。

int array[2][3];     //定义了一个二位数组有2个array[3]

2.使用: 

int ages[3][5] ={
		{10,84,97,96,85},
		{25,97,56,48,21},
		{84,5,63,84,92}
 	        };	

3.二位数组内存分布:

原文地址:https://www.cnblogs.com/shtz/p/4404940.html