数组初始化

数组的初始化有多种方法,以下是一些常见的方式:

  1. 定义时初始化
  • 全部初始化为0int a = {0};

  • 部分初始化int a = {1};,此时只有a被初始化为1,其余元素默认为0。

  1. 按字节初始化
  • 使用memset函数,例如:unsigned char a; memset(a, 123, sizeof(a));,这将数组a的所有元素初始化为123。
  1. 循环遍历初始化
  • 例如:int i; int a; for(i = 0; i < 10; i++) { a[i] = i + 1; },此时数组a的元素被初始化为1到10。
  1. 默认初始化
  • 如果不显式初始化数组,系统会自动将元素初始化为该类型的默认值,对于基本数据类型,通常是0。例如:int numbers;,所有元素将被初始化为0。
  1. 列表初始化
  • 在声明数组时,可以使用花括号{}来指定每个元素的值。例如:int numbers = {1, 2, 3, 4, 5};
  1. 静态初始化
  • 在声明数组的同时为其分配内存并初始化元素。例如:int[] numbers = {1, 2, 3, 4, 5};
  1. 动态初始化
  • 先声明数组,然后在后续代码中为其分配内存并初始化元素。例如:
    int[] moreNumbers = new int;
    moreNumbers = 10;
    moreNumbers = 20// ... 可以继续初始化其他元素
    ```

8. **直接初始化** <b class="card40_249__sup_a7f6" data-sup="sup">2</b>:

- 在声明数组的同时给出初始值。例如:`int[] arr = {1, 2, 3, 4, 5};`<b class="card40_249__sup_a7f6" data-sup="sup">7</b>。

9. **缺省维数的用法** :

- 初始化时可以不指明元素个数,编译器会按照初始化值的个数确定数组大小。例如:`int n[] = {1, 2, 3, 4};`,数组`n`有4个元素<b class="card40_249__sup_a7f6" data-sup="sup">1</b>。

这些方法可以根据不同的需求和场景选择使用,以提高代码的效率和可读性。
Top