0
点赞
收藏
分享

微信扫一扫

C数组数组

登高且赋 2022-05-05 阅读 42
c语言

1.基础知识

  • C语言中使用数组表示多个连续的同类型的存储位置
  • 使用数组表示多个连续存储位置的时候只需要一个名字,这个名字代表所有这些存储位置的整体
  • 每一个存储位置有一个自己的编号,最前边的存储位置的编号是0,向后依次递增,最后一个存储位置的编号是个数减一,这个编号叫做下标
  • 决不可以使用超过范围的下标
  • 使用名称和下标就可以表示这组存储位置中的某一个

2.数组的分类

2.1按元素类型分类

  1. 字符数组:若干个字符变量的集合
  2. 短整型数组
  3. 整型数组
  4. 长整型数组
  5. 浮点型数组
  6. 指针数组
  7. 结构体数组

2.2按维数分类

  1. 一维数组
  2. 二维数组
  3. 多维数组

3.数组定义和初始化

3.1 一维数组

#include<stdio.h>
int main(int argc,char *argv[]){
		int a[10];
		int b[] = {10,20,30};
		printf("sizeof(a) = %d\n",sizeof(a));
		return 0;
}

初始化

#include<stdio.h>
int main(){
    // 如果不初始化,直接使用为随机值
    int a[4] = {2,3,6,5};
    printf("数组a的元素为:%d,%d,%d,%d\n",a[0],a[1],a[2],a[3]);       

    int b[4] = {2,5};
    printf("数组b的元素为:%d,%d,%d,%d\n",b[0],b[1],b[2],b[3]);         

}

请添加图片描述

3.2 二维数组

#include<stdio.h>
int main(){
    int a[2][4];
    printf("sizeof(a)=%ld %ld\n",sizeof(a),2 * 4 *sizeof(int));

    // 省略行标:
    int b[][4] = {1,2,3,4,5};
    printf("sizeof(b)= %ld\n",sizeof(b));
    return 0;
}

请添加图片描述

初始化

#include<stdio.h>
int main(){
    int a[2][3] = {{1,2,3},{6,6,6}};
    int i = 0,j = 0;
    for(i = 0;i < 2;i++){

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

请添加图片描述

#include<stdio.h>
int main(){
    int a[2][3] = {{1,2},{6}};
    int i = 0,j = 0;
    for(i = 0;i < 2;i++){

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

请添加图片描述

#include<stdio.h>
int main(){
    int a[2][3] = {1,2,3,4,5,6};
    int i = 0,j = 0;
    for(i = 0;i < 2;i++){

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

请添加图片描述

4.数组元素的引用方法

5.字符数组的定义

#include<stdio.h>
int main(){
    // 用字符的方式赋值
    char c1[] = {'c',' ','p','i','g'};

    printf("c1数组为:\n");
    for(int i = 0;i < 5;i++){
        printf("'%c',",c1[i]);
    }
    printf("\n");
        

    // 用字符串的方式赋值,多占1个字节,用于存放结束标志 ‘\0’
    char c2[] = "c pig";

    for(int j = 0;j < 6;j++){
        printf("'%c',",c2[j]);
    }

    // 二维数组  字符赋值
    char a[][5] = {
        {'a','b','v','g','y'},
        {'a','b','v','g','y'}
    };
    // 字符串赋值,知道为什么是6吗? 因为多了一个 '\0'
    char b[][6] = {"hello","world"};

    // 二维数组的元素读者可自行打印练习

    return 0;
}

请添加图片描述

#include<stdio.h>
int main(){
    //通过赋值”“这样的方式可以清除字符数组中的垃圾字符,让每一个元素都是 \0
    char ch[32] = "";
    printf("请输入一个字符串:\n");
    scanf("%s",ch);   //数组名就是当前数组的首地址
    printf("ch = %s\n",ch);
    return 0;
}

请添加图片描述

举报

相关推荐

0 条评论