数组 4个月前

编程语言
393
数组

数组是一种数据结构,其可存储固定大小的相同类型元素的顺序集合。

数组是由连续的内存位置组成 低地址对应前面的元素,高地址对应后面的元素 数组中的元素可通过索引访问, 程序员是从0开始计数的, 所以第一个元素的索引为0

声明

在 C 中要声明一个数组,需要指定元素的类型和元素的数量

type arrayName [ arraySize ];

arraySize 必须是一个大于零的整数常量 type 可是任意数据类型(包括自定义类型)

我们可以声明一个包含10个 float 元素的数组 floats

float floats[10];

初始化

可以逐个初始化数组,也可使用一个初始化语句 省略掉了数组的大小,数组的大小则为初始化时元素的个数。

float floats[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
float floats[] = {1000.0,2.0,3.4,7.0,50.0};

floats[0] = 3; //将第一个元素赋值为3

访问

数组元素可以通过数组名称加索引进行访问, 类似于上述的 floats[0]

float tmp = floats[1];

数组中第 2 个元素的值赋给 tmp 变量。

实例

#include <stdio.h>
int main ()
{
   int n[ 10 ]; // 声名
   int i,j;
       
   for ( i = 0; i < 10; i++ )
      n[ i ] = i + 100; // 初始化
   
   for (j = 0; j < 10; j++ )
      printf("Element[%d] = %d\n", j, n[j] ); //访问
   return 0;
}

sizeof

数组长度可以使用 sizeof 运算符来获取数组的长度,例如:

int numbers[] = {1,2,3,4,5};
int length = sizeof( numbers) / sizeof(numbers[0] );
//数组长度 = 数组总大小 / 数组每个元素的大小

数组名

数组名表示数组的地址,即数组首元素的地址。 声明和定义一个数组时,数组名就代表数组的地址。

int myArray[5]={10,20,30,40,50};

myArray 是数组名

  • 它表示整数类型的数组,包含 5 个元素
  • 也代表着数组的地址,即第一个元素的地址。

数组名本身是一个常量指针,意味着它的值是不能被改变的,一旦确定,就不能再指向其他地方。

我们可以使用&运算符来获取数组的地址,如下所示:

int myArray[5] = {10, 20, 30, 40, 50};
int* ptr = &myArray[0]; // 或者直接写作 int *ptr = myArray;

ptr 被初始化为 myArray 的地址,即数组的第一个元素的地址。

下一节讲述什么是指针

image
EchoEcho官方
无论前方如何,请不要后悔与我相遇。
1377
发布数
439
关注者
2222952
累计阅读

热门教程文档

Spring Boot
24小节
MySQL
34小节
MyBatis
19小节
Gin
17小节
10.x
88小节