数组

2021-07-09  本文已影响0人  butters001

数组

#include <stdio.h>

int main() {
    int a[10];//定义了一个数组,名字叫a,有10个成员,每个成员都是int类型
    //a[0]…… a[9],没有a[10]
    //没有a这个变量,a是数组的名字,但不是变量名,它是常量
    a[0] = 0;
    //……
    a[9] = 9;

    int i = 0;
    for (i = 0; i < 10; i++) {
        a[i] = i; //给数组赋值
    }

    //遍历数组,并输出每个成员的值
    for (i = 0; i < 10; i++) {
        printf("%d ", a[i]);
    }
    printf("\n");

    return 0;
}

初始化数组

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};//定义一个数组,同时初始化所有成员变量
int b[10] = {1, 2, 3};//初始化前三个成员,后面所有元素都设置为0
int c[10] = {0};//所有的成员都设置为0

//[]中不定义元素个数,定义时必须初始化
int d[] = {1, 2, 3, 4, 5};//定义了一个数组,有5个成员

数组名是一个地址的常量,代表数组中首元素的地址

#include <stdio.h>

int main() {
    int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};//定义一个数组,同时初始化所有成员变量

    printf("a = %p\n", a);  //a = 0x7ffee5b2ba60
    printf("&a[0] = %p\n", &a[0]);  // &a[0] = 0x7ffee5b2ba60

    int n = sizeof(a); //数组占用内存的大小,10个int类型,10 * 4  = 40
    int n0 = sizeof(a[0]);//数组第0个元素占用内存大小,第0个元素为int,4

    int i = 0;
    for (i = 0; i < sizeof(a) / sizeof(a[0]); i++) {
        printf("%d ", a[i]);
    }
    printf("\n");

    return 0;
}

数组逆序

#include <stdio.h>

int main() {
    int a[] = {1, -2, 3, -4, 5, -6, 7, -8, -9, 10};//定义一个数组,同时初始化所有成员变量

    int i = 0;
    int j = sizeof(a) / sizeof(a[0]) - 1;
    int tmp;

    while (i < j) {
        tmp = a[i];
        a[i] = a[j];
        a[j] = tmp;

        i++;
        j--;
    }

    for (i = 0; i < sizeof(a) / sizeof(a[0]); i++) {
        printf("%d ", a[i]);
    }
    printf("\n");

    return 0;
}

python 直接[::-1] 好香😂

二维数组初始化

//分段赋值  int a[3][4] = {{ 1, 2, 3, 4 },{ 5, 6, 7, 8, },{ 9, 10, 11, 12 }};
int a[3][4] =
        {
                {1, 2,  3,  4},
                {5, 6,  7,  8,},
                {9, 10, 11, 12}
        };

//连续赋值
int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

//可以只给部分元素赋初值,未初始化则为0
int a[3][4] = {1, 2, 3, 4};

//所有的成员都设置为0
int a[3][4] = {0};

//[]中不定义元素个数,定义时必须初始化
int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8};

数组名是一个地址的常量,代表数组中首元素(一维数组)的地址。

上一篇 下一篇

猜你喜欢

热点阅读