亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C 语言数组完全指南:高效数据存储与访问

数组是一种数据结构,可存储固定大小的同类型元素顺序集合。数组用于存储数据集合,但更有用的是将其视为同类型变量的集合。

无需声明单个变量如 number0、number1... number99,只需声明一个数组变量 numbers,用 numbers[0]、numbers[1]... numbers[99] 代表单个变量。数组特定元素通过索引访问。

所有数组由连续内存位置组成。最低地址对应第一个元素,最高地址对应最后一个元素。

C 语言数组完全指南:高效数据存储与访问

声明数组

C 语言声明数组需指定元素类型和元素数量:

 type arrayName [ arraySize ]; 

这称为一维数组。arraySize 必须大于零的整数常量,type 可为任何有效 C 数据类型。例如声明 10 元素 double 类型数组 balance:

 double balance[10]; 

balance 为变量数组,可容纳 10 个 double 数。

初始化数组

C 语言初始化数组可逐个或用单语句:

 double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}; 

大括号 { } 内值的数量不能超过方括号 [ ] 声明的元素数。

若省略数组大小,将创建刚好容纳初始化值的数组。故写:

 double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0}; 

创建的数组与前例相同。下例赋值单个元素:

 balance[4] = 50.0; 

将数组第 5 个元素(索引 4)赋值 50.0。所有数组第一个元素索引为 0(基址索引),最后一个元素索引为数组总大小减 1。上述数组图示:

C 语言数组完全指南:高效数据存储与访问

访问数组元素

通过索引数组名访问元素:在数组名后方括号内放入元素索引。例如:

 double salary = balance[9]; 

取数组第 10 个元素赋给 salary。下例演示声明、赋值、访问数组:

Live Demo

 #include <stdio.h> int main () { int n[ 10 ]; /* n is an array of 10 integers */ int i,j; /* initialize elements of array n to 0 */ for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; /* set element at location i to i + 100 */ } /* output each array element's value */ for (j = 0; j < 10; j++ ) { printf("Element[%d] = %d\n", j, n[j] ); } return 0; } 

编译执行输出:

 Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109 

数组进阶

数组对 C 至关重要,需更多关注。以下重要概念 C 程序员应掌握:

序号概念及说明
1多维数组

C 支持多维数组。最简单形式是二维数组。

2向函数传递数组

可通过指定不带索引的数组名向函数传递数组指针。

3从函数返回数组

C 允许函数返回数组。

4数组指针

仅指定数组名不带索引即可生成指向数组首元素的指针。

C语言

  1. 球栅阵列(BGA)技术全景指南:高密度PCB互连的终极方案
  2. 掌握 C# 数组:声明、初始化与核心操作完全指南
  3. C# 多维数组:二维数组详解与代码示例
  4. 掌握 C# 锯齿数组:声明、初始化与访问完全指南
  5. C++数组传递给函数实战指南
  6. C语言中将一维与二维数组传递给函数的实战指南
  7. 深入理解C语言数组与指针的关系
  8. C++ 数组完全指南:声明、初始化、多维数组与指针技巧
  9. C++ 动态数组分配实战指南:new/delete、初始化、扩容与内存管理
  10. MATLAB 多维数组与特殊数组完全指南
  11. Java 数组复制技术:全面指南
  12. Java 数组教程:声明、创建、初始化与示例代码