首页 > 代码库 > C语言基础(10)-数组

C语言基础(10)-数组

一.数组的定义

数组就是在内存中连续的相同类型的变量空间。

 

二.数组在内存中的存储方式

同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的,数组名是一个地址的常量,代表数组中首元素的地址。

 

三.数组的初始化

3.1 一维数组初始化

int a[10] = { 1, 2, 3 };int a[10] = { 0 };int a[10] = {1,2,3,4,5,6,7,8,9,10};int a[] = {1,2,3,4,5,6,7,8,9,10}; // 此写法与上面的写法是等价的

注意:

在C语言中,数组未初始化就使用是极其危险的,系统会为数组中的每一个元素指定一个随机的值,因此在使用数组之前最好先初始化。

练习1 

定义下列数组

int a[10] = {0,1,2,3,4,5,6,7,8,9};

将该数组中的元素进行反转(最大值在前,最小值在后)。

 

#include <stdio.h>void main() {    int a[10] = {0,1,2,3,4,5,6,7,8,9};    // int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };    for (int i = 0; i < 10;i++) {            printf("a[%d]=%d\n",i,a[i]);    }    printf("------------------ 将数组反转 ------------------\n");    int min = 0; // 记录当前数组的最小下标    int max = 9; // 记录当前数组的最大下标    while (min < max) {        int tmp = a[min]; // 记录当前较小下标的值        a[min] = a[max]; // 将较大下标值赋值给较小下标的值        a[max] = tmp; // 将较小下标的值赋值给较大下标的值        min++;        max--;    }    for (int i = 0; i < 10; i++) {        printf("a[%d]=%d\n",i,a[i]);    }    system("pause");}

 

运行结果:

技术分享

 

 

 

C语言基础(10)-数组