一.数组的定义
数组就是在内存中连续的相同类型的变量空间。
二.数组在内存中的存储方式
同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的,数组名是一个地址的常量,代表数组中首元素的地址。
三.数组的初始化
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"); }
运行结果:
时间: 2024-11-17 00:38:23