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

C 数组

C 数组

在本教程中,您将学习使用数组。您将通过示例学习声明、初始化和访问数组的元素。

<图>

数组是可以存储多个值的变量。比如你要存储100个整数,你可以为它创建一个数组。

int data[100]; 

如何声明一个数组?

dataType arrayName[arraySize];

例如,

float mark[5];

在这里,我们声明了一个数组,mark , 浮点型。它的大小是5。意思是,它可以容纳5个浮点值。

请务必注意,数组的大小和类型一经声明就无法更改。


访问数组元素

您可以通过索引访问数组的元素。

假设你声明了一个数组 mark 如上。第一个元素是 mark[0] , 第二个元素是 mark[1] 等等。

<图>

几个主题演讲


如何初始化数组?

可以在声明期间初始化数组。例如,

int mark[5] = {19, 10, 8, 17, 9};

你也可以像这样初始化一个数组。

int mark[] = {19, 10, 8, 17, 9};

在这里,我们没有指定大小。但是,编译器知道它的大小是 5,因为我们用 5 个元素对其进行初始化。

<图>

在这里,

mark[0] is equal to 19
mark[1] is equal to 10
mark[2] is equal to 8
mark[3] is equal to 17
mark[4] is equal to 9

改变数组元素的值

int mark[5] = {19, 10, 8, 17, 9}

// make the value of the third element to -1
mark[2] = -1;

// make the value of the fifth element to 0
mark[4] = 0;

输入和输出数组元素

以下是如何从用户那里获取输入并将其存储在数组元素中。

// take input and store it in the 3rd element
​scanf("%d", &mark[2]);

// take input and store it in the ith element
scanf("%d", &mark[i-1]);

以下是如何打印数组的单个元素。

// print the first element of the array
printf("%d", mark[0]);

// print the third element of the array
printf("%d", mark[2]);

// print ith element of the array
printf("%d", mark[i-1]);

示例 1:数组输入/输出

// Program to take 5 values from the user and store them in an array
// Print the elements stored in the array
#include <stdio.h>

int main() {
  int values[5];

  printf("Enter 5 integers: ");

  // taking input and storing it in an array
  for(int i = 0; i < 5; ++i) {
     scanf("%d", &values[i]);
  }

  printf("Displaying integers: ");

  // printing elements of an array
  for(int i = 0; i < 5; ++i) {
     printf("%d\n", values[i]);
  }
  return 0;
}

输出

Enter 5 integers: 1
-3
34
0
3
Displaying integers: 1
-3
34
0
3

在这里,我们使用了 for 循环从用户那里获取 5 个输入并将它们存储在一个数组中。然后,使用另一个 for 循环,这些元素会显示在屏幕上。


示例 2:计算平均值

// Program to find the average of n numbers using arrays

#include <stdio.h>
int main()
{
     int marks[10], i, n, sum = 0, average;

     printf("Enter number of elements: ");
     scanf("%d", &n);

     for(i=0; i<n; ++i)
     {
          printf("Enter number%d: ",i+1);
          scanf("%d", &marks[i]);
          
          // adding integers entered by the user to the sum variable
          sum += marks[i];
     }

     average = sum/n;
     printf("Average = %d", average);

     return 0;
}

输出

Enter n: 5
Enter number1: 45
Enter number2: 35
Enter number3: 38
Enter number4: 31
Enter number5: 49
Average = 39

在这里,我们计算了 n 的平均值 用户输入的数字。


访问越界的元素!

假设您声明了一个包含 10 个元素的数组。比方说,

int testArray[10];

您可以从 testArray[0] 访问数组元素 到 testArray[9] .

现在假设您尝试访问 testArray[12] .该元素不可用。这可能会导致意外的输出(未定义的行为)。有时您可能会遇到错误,而有时您的程序可能会正常运行。

因此,您永远不应该访问超出其边界的数组元素。


多维数组

在本教程中,您了解了数组。这些数组称为一维数组。

在下一个教程中,您将学习多维数组(array of an array)。


C语言

  1. 超导性
  2. C# 数组
  3. C# 锯齿状数组
  4. 在 C++ 编程中将数组传递给函数
  5. 将数组传递给 C 中的函数
  6. 数组和指针的关系
  7. Java 复制数组
  8. C++ 中的数组 |声明 |初始化 |指向数组示例的指针
  9. C++ 动态分配数组的例子
  10. Java 数组教程:声明、创建、初始化 [示例]
  11. MATLAB - 数组
  12. 球栅阵列终极指南