• 二维数组的定义和使用


    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    #include<time.h>

    int main01()

    {

      //一维数组:数据类型 数组名[元素个数]={值1,值2}

      /*二维数组数据类型 数组名[行][列]=

      {
        {值1,值2},
        {值3,值4}
      }
      */

      int arr [2] [3]=

      {

        {1,2.3}.

        {4,5,6}

      };

      arr[1][2] = 20;//6=20

      for (int i = 0; i < 2; i++)

      {
        for (int j = 0; j < 3; j++)
        {
          printf("%d ", arr[i][j]);
        }  
        printf(" ");

      }

      

      printf("二维数组大小:%d ", sizeof(arr));//行*列*数据类型 2*3*4=24
      printf("二维数组一行的大小%d ", sizeof(arr[0]));//12
      printf("二维数组元素大小%d ", sizeof(arr[0][0]));//4
      printf("二维数组行数:%d ", sizeof(arr) / sizeof(arr[0]));//24/12=2
      printf("二维数组列数:%d ", sizeof(arr[0]) / sizeof(arr[0][0]));//12/4=3

      return 0;

    //结果

    }

    int main02()

    {

      int arr[2][3]=

      {
        {1,2,3},
        {4,5,6}
      };

      //for(int i=0;i<6;i++)

      for (int i = 0; i < 2; i++)

      {

        for (int j = 0; j < 3; j++)  

        {

          printf("%p ", &arr[i][j]);

        }

      }

      printf(" ");

      

      //二维数组首地址
      //arr[0]=100;err//二维数组中一个下标,表示一行的数据,不是一个具体的值
      printf("%p ", arr);
      printf("%p ", arr[0]);//第一行与第二行相差12个地址
      printf("%p ", arr[1]);//第二行

      printf("%p ", &arr[0][0]);//[0][0]是一个值,需要加上&
      printf("%p ", &arr[0][1]);//[0][0]和[0][1]相差4个地址

      return 0;

    //结果

    }

    int main03()

    { 

      //二维数组初始化
      //int arr[2][3] = { {1,2,3},{4,5,6} };


      //int arr[][3] = { 1,2,3,4,5,6 };//将2省略,会根据3列知2行
      //int arr[][3] = { 1,2,3,4,5,6,7 };//{1,2,3},{4,5,6},{7,0,0}会补0
      //int arr[][] = { 1,2,3,4,5,6 };err;列不能省略,只有挨着数组名的可以省略
      //int arr[][3]={0};1行3列,相当于一维数组

      int arr[2][3] =  {1,2,3,4,5,6};//一般不这样写

      for (int i = 0; i < 2; i++)

      {

        for (int j = 0; j < 3; j++)

        {

          printf("%d ", arr[i][j]);

        }

        printf(" ");

      }

      return 0;

    //结果

    }

  • 相关阅读:
    GlassFish 3.1 正式版发布
    NetBeans 时事通讯(刊号 # 137 Mar 03, 2011)
    在Win7上安装AutoCAD2007碰到的问题及其解决办法
    如何访问 golang.org
    GlassFish 3.1 正式版发布
    NetBeans 时事通讯(刊号 # 138 Mar 08, 2011)
    哪本书是对程序员最有影响、每个程序员都该阅读的书?
    NetBeans 时事通讯(刊号 # 138 Mar 08, 2011)
    NetBeans 时事通讯(刊号 # 137 Mar 03, 2011)
    哪本书是对程序员最有影响、每个程序员都该阅读的书?
  • 原文地址:https://www.cnblogs.com/wanghong19991213/p/13498747.html
Copyright © 2020-2023  润新知