首页 > 其他分享 >如何定义和引用二维数组

如何定义和引用二维数组

时间:2024-08-14 16:23:04浏览次数:10  
标签:定义 int 元素 ++ 二维 数组 printf

一.二维数组 常称为矩阵,把二维数组写成行和列的排列形式。、

二.怎么定义二维数组

float pay[3][5];

以上定义了一个float型的二维数组,第1维有3个元素,第2维有6个元素。每一维的长度分别用一对方括号括起来。
二维数组定义的一般形式为    类型说明符 数组名【常量表达式】【常量表达式】

注意不能写成

int a[3,5][5,5];

为方便理解

三.怎么引用二维数组的元素

表达形式

数组名【下标】【下标】

四.二维数组初始化:

(1)分行给二维数组赋初值。

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

(2)所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值

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

(3)对部分元素赋初值

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

(4)第一维的长度可以不指定,但是第二段长度不能省。

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

五.实战程序举例。

#include <stdio.h>

int main() {
    int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
    int b[3][2];
    int i, j;

    // 进行行列互换
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 2; j++) {
            b[i][j] = a[j][i];
        }
    }

    // 输出互换后的数组
    printf("行列互换后的数组:\n");
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 2; j++) {
            printf("%d ", b[i][j]);
        }
        printf("\n");
    }

    return 0;
}

标签:定义,int,元素,++,二维,数组,printf
From: https://blog.csdn.net/2302_80782671/article/details/141192982

相关文章

  • 三:指针在数组中的应用
    1.使用指针访问数组指针的加减运算可以用来在内存中移动指针的地址。加上一个整数`n`,实际上就是移动了`n`个步长字节。步长是由指针指向的数据类型决定的。例如,假设有一个`int`类型的指针`p`:int*p=(int*)100;那么,执行`p+1`后,指针地址会向后移动`sizeof(in......
  • 【代码随想录】一、数组:3.双指针 - 977.有序数组的平方
    本文为977.有序数组的平方的解法,部分图文参考自代码随想录977.有序数组的平方。1.题目1:977.有序数组的平方1.1.解法1:直接排序classSolution{public:vector<int>sortedSquares(vector<int>&nums){for(inti=0;i<nums.size();i++){n......
  • 【代码随想录】一、数组:2.移除元素
    部分图文参考于:代码随想录-移除元素和力扣官方解法。1.题目1★:27.移除元素1.1.解法1:暴力解法考验对数组底层实现的理解:数组的元素是不能删的,只能覆盖。通过两层for循环来求解,外层for循环遍历数组元素,内层for循环将目标值进行覆盖。classSolution{public:intremove......
  • 【代码随想录】一、数组:1.二分查找
    部分图文参考于:代码随想录-二分查找,本文仅作为个人学习使用,如有侵权,请联系删除。1.概念二分查找也称折半查找(BinarySearch),是一种在有序数组中查找某一特定元素的搜索算法。我们可以从定义可知,运用二分搜索的前提是数组必须是有序的,这里需要注意的是,我们的输入不一定是数组,也......
  • 【代码随想录】一、数组:理论基础
    原文链接:代码随想录-数组理论基础,本文仅作为个人学习使用,如有侵权,请联系删除。数组是非常基础的数据结构,在面试中,考察数组的题目一般在思维上都不难,主要是考察对代码的掌控能力。数组是存放在连续内存空间上的相同类型数据的集合。数组可以方便的通过下标索引的方式获取到下......
  • c语言转换char字符数组为大写小写
    #include<string.h>#include<stdlib.h>#include<stdio.h>#include<time.h>#include<ctype.h>#include<sys/stat.h>voidgetdate(char*datestr,char*format){ time_tnnowtime=time(NULL); structtm*ptmTemp=loc......
  • 2024-08-14:用go语言,给定两个长度分别为n和m的整数数组nums和changeIndices,下标从1开始
    2024-08-14:用go语言,给定两个长度分别为n和m的整数数组nums和changeIndices,下标从1开始。初始时,nums中所有下标均未标记。从第1秒到第m秒,每秒可以选择以下四种操作之一:1.选择范围[1,n]中一个下标i,将nums[i]减少1。2.将nums[changeIndices[s]]设为任意非负整数。3.选择范围......
  • 从字符串里面解析数组
    需求,从一个字符串里面,解析出一个数组。例如:“1,2,3,4,5”,"1-5","1,2,4","5-10,12,13"能正常解析出一个数组出来。字符串里面,支持“,”,"-"2种用法。 #include<iostream>#include<string>#include<vector>#include<sstream>#......
  • unity中, 二维平面上,求从点A出发,沿着方向B,与线段C的交点
    代码说明:点A:起始点。方向B:一个方向向量,表示从点A出发的方向。线段C:由两个点C1和C2定义。1usingUnityEngine;23publicclassLineIntersection:MonoBehaviour4{5//返回从点A出发,沿着方向B,与线段C的交点。如果没有交点,则返回null6publicstati......
  • 3152. 特殊数组 II
    3152.特殊数组II题目链接:3152.特殊数组II代码如下:classSolution{public:vector<bool>isArraySpecial(vector<int>&nums,vector<vector<int>>&queries){vector<int>d(nums.size());//std::iota(numbers.......