首页 > 其他分享 >C关于一维数组以及二维数组的创建和简单利用(下)

C关于一维数组以及二维数组的创建和简单利用(下)

时间:2023-08-06 22:32:55浏览次数:30  
标签:数组 int 二维 存放 一维 内存地址

#include <stdio.h>

int main ()

{
    int a[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};

    int b=0;

    for (b=0;b<3;b+=1)

    {
        int c=0;
        for (c=0;c<4;c+=1)

        {
            printf("%p||",&a[b][c]);

        }

        printf("\n");

    }
    getchar ();
    return 0;

}
  • 关于二维数组,其变量a之后跟着两个“[]”。前面一个代表创建的数组是是几行,后者则是几列。

C关于一维数组以及二维数组的创建和简单利用(下)_二维数组

  • 关于二维数组中"[]"内下标数能否与一维数组一样能够省略?
  • 也是可以的,但二维数组的“列”这一下标是不能够省略的,不然编译器会报错。

探求二维数组的内存地址

  • 在之前的的一维数组的内存地址以图表示以下

C关于一维数组以及二维数组的创建和简单利用(下)_二维数组_02

  • 可以看出元素的内存存放是相邻的
  • 那二维数组的内存又是如何存放的?

C关于一维数组以及二维数组的创建和简单利用(下)_二维数组_03

  • 这是上面代码的运行结果,可以看出每一行的每一个元素也相隔递增,并且都以整数大小相差4字节
  • 若看不出来,接下来一张图也许能更好理解

C关于一维数组以及二维数组的创建和简单利用(下)_内存地址_04

  • 通过以上的数据,也就可以得出二维数组的存放规律

C关于一维数组以及二维数组的创建和简单利用(下)_内存地址_05

  • 并不是如真正的行与列的排列方式,而是上一条直线由许多一维数组所组成。


标签:数组,int,二维,存放,一维,内存地址
From: https://blog.51cto.com/u_16212408/6987272

相关文章

  • Java数组
       ......
  • C语言定义并初始化一个二维数组(利用二级指针)
    C语言定义并初始化一个二维数组(利用二级指针)1.代码如下#include<stdio.h>#include<stdlib.h>intmain(){//m,n表示数组的行数和列数intm,n;scanf("%d%d",&m,&n);//p是一个二级指针,使用malloc函数初始化。注意p指向的是一个指针,所以sizeof操作......
  • 后缀数组
    SA基数排序一般采用LSD(LeastSignificantDigital),从键值的最低位开始排序。定义记\(suf(i)\)为起始下标为\(i\)的后缀。记\(sa[i]\)为排名第\(i\)的后缀的起始位置。记\(rk[i]\)为\(suf(i)\)的排名。P3809【模板】后缀排序对于一个长为\(n\)的字符串,求......
  • C语言定义并初始化一个二维数组(利用指针数组)
    C语言定义并初始化一个二维数组(利用指针数组),可以实现二位数组的每一行的元素个数不同1.代码如下#include<stdio.h>#include<stdlib.h>intmain(){//arr是一个指针数组,即这个数组的所有元素都是指针,每一个元素都指向一个int型数组,每一个int型数组的长度可以不同......
  • 「学习笔记」二维数点
    P2163[SHOI2007]园丁的烦恼-洛谷|计算机科学教育新生态(luogu.com.cn)这个是二维数点的板子题,二维数点这一类题目就是上面的题所描述的,我们用树状数组+离散化来解决这个问题。这里就不解释了,记录此篇博文的目的主要就是提醒自己曾经学过这个,看看代码,方便回忆起来。这......
  • qrcode生成二维码
    jsqrcode包生成二维码安装npminstall--saveqrcode或者,全局安装以便从命令行保存qrcode图像或生成您可以在您的终端中查看的图像。npminstall-gqrcode使用importQRCodefrom"qrcode"letcode="string....";QRCode.toDataURL(code,{errorCorrect......
  • 2023-08-06:小青蛙住在一条河边, 它想到河对岸的学校去学习 小青蛙打算经过河里 的石头
    2023-08-06:小青蛙住在一条河边,它想到河对岸的学校去学习小青蛙打算经过河里的石头跳到对岸河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上给定一个长度为n的数组arr,表示每块儿石头的高度数值每块石头有一个高度,每次小青蛙从一块石头起跳这块石头的高度就......
  • 2023-08-06:小青蛙住在一条河边, 它想到河对岸的学校去学习 小青蛙打算经过河里 的石头
    2023-08-06:小青蛙住在一条河边,它想到河对岸的学校去学习小青蛙打算经过河里的石头跳到对岸河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上给定一个长度为n的数组arr,表示每块儿石头的高度数值每块石头有一个高度,每次小青蛙从一块石头起跳这块石头的......
  • 数组,条件,循环,重要函数,超级全局变量,魔术方法
    目录数组,条件,循环,实战重要函数超级全局变量魔术方法数组,条件,循环,实战数组在PHP中,array()函数用于创建数组:$cars=array("Volvo","BMW","Toyota");在PHP中,有三种类型的数组:数值数组-带有数字ID键的数组关联数组-带有指定的键的数组,每个键关联一个值......
  • 实现二维卷积层
    importtorchfromtorchimportnnfromd2limporttorchasd2ldefcorr2d(x,k):"""计算二维互相关运算"""#获取卷积核的高和宽h,w=k.shape#输出的高和宽y=torch.zeros((x.shape[0]-h+1,x.shape[1]-w+1))foriinrange(y.shape[0......