首页 > 其他分享 >C语言定义并初始化一个二维数组(利用指针数组)

C语言定义并初始化一个二维数组(利用指针数组)

时间:2023-08-06 20:26:53浏览次数:35  
标签:arr 一个二维 int malloc C语言 数组 sizeof 指针

C语言定义并初始化一个二维数组(利用指针数组),可以实现二位数组的每一行的元素个数不同

1.代码如下

#include <stdio.h>
#include <stdlib.h>

int main() {
    // arr是一个指针数组,即这个数组的所有元素都是指针,每一个元素都指向一个int型数组,每一个int型数组的长度可以不同
    int* arr[3] = {
        (int*)malloc(sizeof(int) * 3), \
        (int*)malloc(sizeof(int) * 6), \
        (int*)malloc(sizeof(int) * 4)
    };

    for (int i = 0; i < 3; i++) {
        // arr[0]是一个指针
        scanf("%d", &arr[0][i]);
    }

    for (int i = 0; i < 6; i++) {
        // arr[1]是一个指针
        scanf("%d", &arr[1][i]);
    }

    for (int i = 0; i < 4; i++) {
        // arr[2]是一个指针
        scanf("%d", &arr[2][i]);
    }

    return 0;
}

标签:arr,一个二维,int,malloc,C语言,数组,sizeof,指针
From: https://www.cnblogs.com/gjsun/p/17609917.html

相关文章

  • 001、认识C语言,第一次编码
    001、认识C语言,第一次编码​ C语言常用于底层开发(应用层之下【操作系统、驱动】)写C语言代码的步骤:创建一个项目;创建一个源文件(xxx.c)【头文件:xxx.h】;写代码;编译代码(ctrl+F7);运行代码(ctrl+F5【不调试】、F5【调试】)主函数(一个工程中只能有一个主函数):/***写C语言的第一步......
  • 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键的数组关联数组-带有指定的键的数组,每个键关联一个值......
  • 【C语言】操作符详解(一)
    1.原码,反码,补码inta=1;整形占用四个字节----32bit00000000000000000000000000000001 (数值位)1.1原码,反码,补码的介绍整数的2进制表示方法有三种,即原码,反码,补码三种表⽰⽅法均有符号位和数值位两部分,符号位都是⽤0表⽰“正”,⽤1表⽰“负”,⽽数值位最⾼位的⼀位是被当做符号位,......
  • 【JavaScript03】Array数组对象基本操作
    首先定义一个数组,可以用[];也可以使用newArray()来创建一个数组对象数组通过下标取值数组通过下标取值,从0开始在python中可以通过下标-1反着取倒数第一个值,JavaScript中没这种取值方法.当数组的下标不在它取值范围内,如x有4个成员,那么取值是0-3,非0-3的数字下标取值,得到......
  • 【动态规划】【力扣357次周赛】6953. 判断是否能拆分数组
    【力扣357次周赛】6953.判断是否能拆分数组给你一个长度为n的数组nums和一个整数m。请你判断能否执行一系列操作,将数组拆分成n个非空数组。在每一步操作中,你可以选择一个长度至少为2的现有数组(之前步骤的结果)并将其拆分成2个子数组,而得到的每个子数组,至少需......
  • ES6数组reduce方法使用
    reduce方法对数组中的每个元素执行一个reducer函数,将其减少为单个值。reduce的语法如下:letresult=arr.reduce(reducer,initialValue);reducer函数包含四个参数:accumulator-累计器,默认为initialValue的值,累计回调函数的返回值currentValue-数组中正在处理的元素......
  • C语言分支与循环(18) --- 编写一个关机程序
    一.编写一个程序,要求程序运行后电脑一分钟内自动关机,若用户输入:no则取消关机示例代码:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<windows.h>intmain(void){ printf("您的电脑将在一分钟内关机,若需要取消关机请输入no\n"); system("shutdown-s-t60");R......
  • 我的第十一次C语言练习
    #definePI3.14159//intmain(void)//{// intnumber=7;// floatpies=12.75;// intcost=7800;// printf("The%dcontestantsate%fberrypies.\n",number,pies);// printf("Thevalueofpiis%f.\n",PI);// printf("Fare......