一维 / 二维 / 字符 数组输入输出知识点学习

一.数组基本知识点、本质(通用)

        无论是一维还是二维或者是字符数组,数组名都代表首元素的地址

        e.g a[10]是一个有10个元素的一维数组,a代表第1个元素即a[ 0 ]的地址。

        虽然二维数组逻辑形态我们认为是二维的矩阵状态,但其存储形式为线性存储

        e.g a[2][2]为一个二维数组,假设其首元素地址a[0][0]为1002,则其后3个元素的地址分别为1003,1004,1005是一维线性连续存放的。

二.printf函数引用数组的方法

        除了字符数组printf语句有规定相应的格式化字符串用法外,一维二维数组用要通过循环将数组元素一个一个引用,无法直接引用整个数组。

        e.g 字符数组 c[6]={'H','e','l','l','o','\0'} (\0为字符串结束标志,方便对字符串即字符数组常用对象进行引用)

        printf("%s",c) 的输出结果为 Hello

二维数组c[2][2]:

        2        3

        4        1

 引用方法:

for(i=0;i<=1;i++)
{
    for(j=0;j<=1;j++)
    {
        printf("%d",c[i][j]);//循环打印单个数组元素
    }
    printf("\n");//(固定操作),以二维数组的形式提取输出此数据
}

 三.用scanf语句对数组元素赋值的方法

        除了对字符数组可以以字符串的形式赋值外,一维二维数组需要对每个元素单独赋值,如果是填充零则可以在初始化数组时留意。         

e.g

对一维数组赋值:

        scanf("%d",&a[1]);

对二维数组赋值:

        scanf("%d",&a[1][2]);

(以上由于都是对数组元素赋值,因此还是要加上地址符&)

对字符数组赋值:

        scanf("%s",a);

此时a为数组a的首元素地址,不需要地址符&

四.注意点

        使用字符数组的时候注意字符串结束符号"\0"的灵活运用,以及熟悉常用的字符串函数(要调入string.h的库文件)

        scanf(),gets(),getchar()等输出函数的使用方式有很多不同,关系到输入方面的缓冲区原理,建议深入了解一下缓冲区这方面的知识。

        如果这篇文章对你有帮助的话,给博主一个免费的赞鼓励博主吧~

                

 

        

你可能感兴趣的:(C语言,c语言,c++)