c语言怎么定义数组

c语言怎么定义数组
最新回答
伪友

2021-11-17 16:26:07

在C语言中,定义数组的基本语法为:数据类型 数组名[大小];,其中:

  • 数据类型:指定数组元素的数据类型(如 int、char、float 等)。
  • 数组名:数组的标识符,遵循变量命名规则。
  • 大小:数组的元素数量,必须是整数常量(如 10)或宏定义的常量(如 #define SIZE 10)。
示例代码int scores[5]; // 定义包含5个整数的数组float prices[3]; // 定义包含3个浮点数的数组char letters[26]; // 定义包含26个字符的数组关键注意事项
  1. 大小必须为常量数组大小在编译时需确定,不能是变量(除非使用变长数组,但需注意兼容性)。例如:

    int n = 10;int arr[n]; // 非标准C,部分编译器支持(C99变长数组)
  2. 访问数组元素通过 数组名[下标] 访问元素,下标从 0 开始,最大为 大小-1。例如:

    scores[0] = 95; // 赋值第一个元素printf("%c", letters[25]); // 输出第26个字符
  3. 初始化数组可在定义时初始化,未初始化的元素值为未定义(可能是垃圾值):

    int nums[3] = {1, 2, 3}; // 完全初始化int partial[] = {1, 2}; // 自动推导大小为2int zeros[5] = {0}; // 所有元素初始化为0
  4. 避免越界访问访问超出数组范围的元素会导致未定义行为(如程序崩溃或数据损坏):

    // 错误示例:越界访问int data[3];data[3] = 100; // 越界!合法下标仅为0、1、2
完整示例#include <stdio.h>int main() { // 定义并初始化数组 int numbers[4] = {10, 20, 30, 40}; // 修改数组元素 numbers[1] = 25; // 遍历数组 for (int i = 0; i < 4; i++) { printf("numbers[%d] = %dn", i, numbers[i]); } return 0;}输出结果numbers[0] = 10numbers[1] = 25numbers[2] = 30numbers[3] = 40

通过以上规则和示例,可以正确地在C语言中定义、初始化和操作数组。