二维数组定义及初始化
#include<stdio.h>
#include<iostream>
using namespace std;
int main ()
{
int a[3][2] = {(0,1),(2,3),(4,5)};//注意逗号表达式
int *p;
p = a[0];
cout << p[0]<<endl;
return 0;
}
#include<stdio.h>
#include<iostream>
using namespace std;
int main ()
{int a[3][2] = {(0,1),(2,3),(4,5)};//注意逗号表达式int *p;p = a[0];cout << p[0]<<endl;return 0;
}
二维数组初始化的形式为:
数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };
在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。
有如下几种初始化方式:
⑴ 分行进行初始化
int a[2][3]={{1,2,3},{4,5,6}};
在{ }内部再用{ }把各行分开,第一对{ }中的初值1,2,3是0行的3个元素的初值。第二对{ }中的初值4,5,6是1行的3个元素的初值。相当于执行如下语句:
int a[2][3];
a[0][0]=1;a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;
注意,初始化的数据个数不能超过数组元素的个数,否则出错。
⑵ 不分行的初始化
int a[2][3]={ 1,2,3,4,5,6};
把{ }中的数据依次赋给a数组各元素(按行赋值)。即a[0][0]=1; a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;
⑶ 为部分数组元素初始化
static int a[2][3]={{1,2},{4}};
第一行只有2个初值,按顺序分别赋给a[0][0]和a[0][1];第二行的初值4赋给a[1][0]。由于存储类型是static,故其它数组元素的初值为0。注:某些C语言系统(如:Turbo C)中,存储类型不是static的变量或数组的初值也是0。
static int a[2][3]={ 1,2};
只有2个初值,即a[0][0]=1,a[0][1]=2,其余数组元素的初值均为0。
⑷ 可以省略第一维的定义,但不能省略第二维的定义。系统根据初始化的数据个数和第2维的长度可以确定第一维的长度。
int a[ ][3]={ 1,2,3,4,5,6};
a数组的第一维的定义被省略,初始化数据共6个,第二维的长度为3,即每行3个数,所以a数组的第一维是2。
一般,省略第一维的定义时,第一维的大小按如下规则确定:
初值个数能被第二维整除,所得的商就是第一维的大小;若不能整除,则第一维的大小为商再加1。例如,int a[ ][3]={ 1,2,3,4};等价于:int a[2][3]={ 1,2,3,4};
若分行初始化,也可以省略第一维的定义。下列的数组定义中有两对{ },已经表示a数组有两行。
static int a[ ][3]={{1,2},{4}};
二维数组定义及初始化相关推荐
- c++二维数组定义与初始化
int a[ ][ ]定义二维数组,静态申请 // 定义的二维数组如果不手动初始化的话,全局变量会被初始化为0,否则会随机初始化 int a[5]; // 定义一维数组 int a[2][3]; // ...
- js二维数组定义和初始化的三种方法
方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1",&quo ...
- C语言 二维数组定义和使用 - C语言零基础入门教程
目录 一.二维数组简介 二.定义二维数组并初始化 1.定义二维数组 2.初始化二维数组 三.访问二维数组 四.修改二维数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 & ...
- 【C#】C#二维数组定义方法
文章目录 C#二维数组定义方法 C#二维数组定义方法 C#项目中,可参考如下方式定义二维数组: string[] b= new string[10]; string[][] a= new string ...
- 【C语言】二维数组定义以及引用
接着上面一期进行,二维数组的一些了解,代码均来自于VS编译环境下. 一.怎样定义二维数组 二维数组和一维数组一样,二维数组的定义方式如下: 类型说明符 数组名[常量表达式][常量表达式] 注意一个 ...
- C语言二维数组元素的初始化
二维数组的4种数组初始化: 一.直接分行给二维数组赋初值 例:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; //推荐使用此方便赋值数组 二.将所有 ...
- java二维数组两种初始化方法
写这篇博客的原因是因为从大一学习c语言开始 就对二维数组的声明 和初始化 一直没有搞懂....直到学到了Java依旧搞得不是很清楚. 先看一道Java的基础题 这道题 错误的选项 是 B. 二维数组的 ...
- C++——C++创建动态二维数组+memset()函数初始化
C++开辟动态二维数组的几种方法总结 原文链接:https://blog.csdn.net/xiang_shao344/article/details/99684395 一.用 new 来动态开辟一个 ...
- Java二维数组声明与初始化
package 调度算法;public class Diaodu {public static void main(String[] args) {String name[][]= {{"进 ...
- C语言 一维数组、二维数组的创初始化、使用和存储
目录 数组 一维数组 一维数组的创建和初始化 一维数组的定义 一维数组的初始化 完全初始化 不完全初始化 一维数组的使用 一维数组的使用代码示例 一维数组在内存中的存储 代码示例 二维数组 二维数组的 ...
最新文章
- 安装neo1973的GPS驱动[转]
- 序列化和反序列化的概念与延伸【详细解释 + 样例演示】
- ssl协议及开源实现openssl
- C语言九十五之实现经典的反转数组(通过指针或数组下标操作)
- 信息学奥赛C++语言: 队伍调整
- lisp坐标一键生成_Grasshopper自动生成坡度标注
- modulenotfounderror python_python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法...
- 什么是python装饰器_深入理解 Python 装饰器
- 哪些是常见的大数据分析模型
- 如何监控 Nginx?
- atitit.DD dragdrop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
- java开发实例大全_java编程实例大全100例
- android流光字体实现,CSS实现字体流光/高光滑动
- JMeter性能测试之使用CSV文件参数化
- 开发快手爬票项目(中)
- 树莓派3安装系统linux,树莓派3 安装Fyde OS
- 看我如何做基于扑克牌模式识别系统的设计与实现
- android开发视频资源 电驴10G下载
- Arduino ESP32 SD卡读写实例
- java循环嵌套语句示范_java的三种循环结构与循环嵌套
热门文章
- 小程序tabBar无效
- 阿里easyExcel学习笔记(maven)
- Darklabel多目标跟踪标注工具
- 粒子群算法(6)-----几个适应度评价函数
- 论文阅读笔记:Sequential Matching Network: A New Architecture for Multi-turn Response Selection in Retrieva
- 共享文件计算机和设备拒绝访问,共享文件夹无法访问、设置文件夹访问权限、共享文件夹拒绝访问的解决方法...
- 常用通信光纤是如何分类的
- html+css制作小米商城官网初尝试
- 【转载】深入浅出讲解FOC算法与SVPWM技术——自制FOC驱动器
- 实用工具:常用数学公式