zoukankan      html  css  js  c++  java
  • 实验九:二维数组和字符数组的应用

    知识点:

    二维数组的定义及引用:1、二维数组的定义:

                                        二维数组的定义形式:类型名   数组名【行长度】【列长度】;
    例如:
            int  a【3】【2】;
            定义1个二维数组a,3行2列,6个元素;

            int   b【5】【10】;
            定义1个二维数组a,5行10列,50个元素;

    二维数组的引用:行下标的范围:0~行长度-1;
                            列下表的范围:0~列长度-1;

    字符串的存储和运算可以用一维字符数组实现;

    一维字符数组的定义、引用、初始化与其他类型的一维数组一样;

    定义了一个3行4列的数组,共有3×4=12个元素,数组名为a,即:
    a[0][0], a[0][1], a[0][2], a[0][3]
    a[1][0], a[1][1], a[1][2], a[1][3]
    a[2][0], a[2][1], a[2][2], a[2][3]

    在二维数组中,要定位一个元素,必须给出一维下标和二维下标,就像在一个平面中确定一个点,要知道x坐标和y坐标。例如,a[3][4] 表示a数组第3行第4列的元素。

    二维数组在概念上是二维的,但在内存中地址是连续的,也就是说各个元素是相互挨着的。那么,如何在线性内存中存放二维数组呢?有两种方式:一种是按行排列, 即放完一行之后再放入第二行。另一种是按列排列, 即放完一列之后再放入第二列。

    在C语言中,二维数组是按行排列的。也就是先存放a[0]行,再存放a[1]行,最后存放a[2]行;每行中的四个元素也是依次存放。数组a为int类型,每个元素占用4个字节,整个数组共占用4×(3×4)=48个字节。

    如果像是我们做的第二题,九九乘法表的话,数组数要增加1,不然没有办法算到9*9,列:

    #include<stdio.h>
    int main()
    {
        int i,j;
        int a[10][10];
        for(i=0;i<=9;i++)
            for(j=1;j<=i;j++)
                a[i][j]=i*j;
        for(i=0;i<=9;i++){ 
            for(j=1;j<=i;j++)
                printf("%2d*%d=%2d",j,i,a[i][j]);
                printf("
    ");
        }
        return 0;
    }

    如果写成a[9][9],后面会全部是乱码,只有多一点才会算完整。

     实验心得:二维数组可以看作是由一维数组嵌套而成的,把一维数组的每个元素看作一个数组,就组成了二维数组。当然,前提是各元素类型必须相同,根据这样的分析,一个二维数组也可以分解为多个一维数组。

                    以后的估计会更难,希望自己能够加油努力学!!!

  • 相关阅读:
    Windows程序设计6(内存、线程、进程)
    Windows程序设计5(MDI、库程序、文件)
    Windows程序设计4(文字、对话框、各控件)
    大数据开发学习之构建Hadoop集群-(0)
    杂谈
    Windows程序设计2(消息机制、菜单)
    QT 学习笔记概述(一)
    Linux/Windows 实用工具简记
    读书笔记《深度探索c++对象模型》(0)
    读书笔记《深入理解计算机系统》(第三版) 概述
  • 原文地址:https://www.cnblogs.com/jyt1998/p/6081670.html
Copyright © 2011-2022 走看看