【C语言】构造长度可变的二维数组
#include <stdio.h>
#include <malloc.h>
#include <memory.h> int getArray(int ***p,int m,int n)//构造一个m*n维数组,并清零
{
int i;
*p=(int **)malloc(sizeof(int*)*m);
memset(*p,,sizeof(int*)*m);
if(NULL==p)
{
printf("memory error!");
return -;
}
for(i=;i<n;i++)
{
(*p)[i]=(int*)malloc(sizeof(int)*n);
memset((*p)[i],,sizeof(int)*n);
if(NULL==(*p)[i])
{
printf("memory error!");
return -;
}
}
return ;
}
int main()
{ int n;//输入数
int **p=NULL;//二级指针,留作可变长度二维数组用
printf("input a number:");
scanf("%d",&n);
if((n<)||(n>))//检查n是否溢出
{
printf("invalid number!");
return -;
}
/*构造一个n*n维数组,并清零*/
state=getArray(&p,n,n); return ;
}
【C语言】构造长度可变的二维数组的更多相关文章
- 论C语言中二级指针和二维数组之间的区别
刚开始学习C语言的时候,觉得一个数组可以定义一个一级指针去访问,想当然的就觉得可以定义一个二级指针去访问二维数组.很显然这是错误的. 我们来看看C语言的数组在内存中的存储方式. 实际上C语言中的数组, ...
- 用vector构造自动扩容的二维数组
#include <iostream> #include <string> #include <vector> using namespace std; int m ...
- C语言批量数据到动态二维数组
上一篇文章将文件读取放到静态创建的二维数组中,可是结合网络上感觉到今天的DT时代,这样批量大量读取一个上百行的数据,分配的内存是否可能由于大量的数据而产生溢出呢,近期一直研究里malloc函数.通过它 ...
- js循环一维数组按指定长度截取为二维数组
//随便创建一个数组 let data = "abcdefghijklmnopkrstuvw12322999".split(""); //总数组 let pro ...
- C语言复习---找出一个二维数组的鞍点
前提: 求任意的一个m×n矩阵的鞍点——鞍点是指该位置上的元素在该行上为最大.在该列上为最小, 矩阵中可能没有鞍点,但最多只有一个鞍点. m.n(<=m<=.<=n<=)及矩阵 ...
- C语言 二维数组复制、清零及打印显示
#include <stdlib.h> #include <stdio.h> #include <string.h> //二维整型数组打印显示 ],int row, ...
- c语言编程学习之二维数组
二维数组 c语言按照行主序存储二维数组.也就是说,二维数组元素在内存中的位置是连续的,每行末尾元素(若不是最后一行)的下一个元素就是下一行的首元素. 如下图所示 接下来我们来分析一下如何将二维数组所有 ...
- JavaSE-06 二维数组
学习要点 二维数组的定义 二维数组内存数据结构 不规则二维数组 二维数组的定义 语法格式 格式一 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. ...
- Java一维数组二维数组详解API
所谓数组,是有序的元素序列. 若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.用于区分数组的各个元素的数字编号称为下标 ...
随机推荐
- java web下串口通讯
最近在做java串口通讯,主要是用个人电脑通过串口从RS485读取数据,并通过crc循环冗余校验,把接收正确的数据解析,插入数据库mysql,并用SSH技术把数据库数据以表格以及图表形式显示 ...
- java面试第十七天
5.0新特性: 泛型: 泛型的形式: <E> <E extends 类型> <E extends Numner&comparator> 类名&接口 ...
- 〖Linux〗gvim使用alt+1,2,3..进行标签页切换
gvim ~/.gvimrc,往里边添加: """"""""""""" ...
- Hive之简单查询不启用MapReduce
假设你想查询某个表的某一列.Hive默认是会启用MapReduce Job来完毕这个任务,例如以下: 01 hive> SELECT id, money FROM m limit 10; 02 ...
- ASP.NET MVC:通过FileResult向浏览器发送文件
在 Controller 中我们可以使用 FileResult 向客户端发送文件. FileResult FileResult 是一个抽象类,继承自 ActionResult.在 System.Web ...
- jQuery 源码学习笔记
//检测 window 中新增的对象 //first var oldMap = {}; for(var i in window) { oldMap[i] = 1; } //second for(var ...
- Windows下安装OpenSSL及其使用
方法一: Windows binaries can be found here: http://www.slproweb.com/products/Win32OpenSSL.html You can ...
- Python 的 pandas 实践
Python 的 pandas 实践: # !/usr/bin/env python # encoding: utf-8 __author__ = 'Administrator' import pan ...
- WordPress网站搬家的问题
老邢的博客搬家全过程(wordpress搬家知识总结) 网站搬家过程中的几个问题 WordPress网站搬家的方法 WORDPRESS.ORG - zh-cn:WordPress 博客搬家 ...
- Android开发之5大布局方式详解
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...