本人未重视new与指针的使用,终于,终于在前一天船翻了,而且没有爬上岸;

故此,今特来补全new的用法,及其一些规则;

话不多说

C++提供了一种“动态内存分配”机制,使得程序可以在运行期间,根据实际需求,要求操作系统临时分配一片内存空间用于存放数据;

通过new运算符来实现;

new实现一维指针:

 int * P;
P = new int; //开辟一个存放整数的空间,并返回一个存储空间的地址(即指针);
* P = ; int * P = new int(); //与上相等
int * Y = new int;
int * Y = new int(); //开辟一个存放整数的空间,并指定该整数的初值为100,返回一个该存储空间的地址;

分配一个任意大小的数组:

 T * P;
P = new T[N]; //T是任意类类型名, N代表元素个数 int *A = new int[]; //开辟一个存放10个整数(数组)的空间,返回首元素的地址

二维数组:  (以5行5列的矩阵为列)

     int i;
int row = ,list = ;
int **Matrix;
Matrix = new int *[row]; //给一维指针开辟空间
for(i = ;i<row;i++)
Matrix[i] = new int [list]; //第二维空间开辟

一维二维的两种方式均可使用;

 int * Matrix = new int[row * list];        //当成一维数组连续开辟

简化二维指针的开辟,通过 Matrix [ i * (list + 1) + j ]来访问第i行第j列的数据;

开辟指针的释放:

 int * P = new int;
* P = ;
delete P; int * P = new int [];
P[][] = ;
delete [] P;

用new运算符动态分配的内存空间,要用delete运算符释放,否则,会出现“内存泄漏”;

上述矩阵的释放方式:

     for(i = ;i < row;i++)
delete [] Matrix[i];
delete [] Matrix; //
//
delete [] Matrix;

2019-11-02    16:56:02

下次学到再来;

发现错误,修改了一下,贴一个正确的二维数组的例子;

 #include<iostream>

 using namespace std;

 int main()
{
int i,j;
int row = ,list = ;
int **Matrix;
Matrix = new int *[row];
for(i = ;i<row;i++)
{
Matrix[i] = new int [list];
for(j = ;j<list;j++)
Matrix[i][j] = ;
}
for(i = ;i<row;i++)
{
for(j = ;j<list;j++)
cout<<Matrix[i][j]<<" ";
cout<<endl;
}
for(i = ;i<row;i++)
delete [] Matrix[i];
delete [] Matrix;
return ;
}

2020-01-11

C/C++中new的使用规则的更多相关文章

  1. JavaScript中正则表达式判断匹配规则以及常用的方法

    JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想 ...

  2. Ubuntu中保存iptables防火墙规则

    Ubuntu中保存iptables防火墙规则的例子 打开防火墙 ufw disableufw statusufw enable ufw allow 22/tcp ufw reload iptables ...

  3. C++中的默认参数规则

    C++中的默认参数规则 C++的默认参数规则其实是一个非常容易掉坑的规则,尤其是当一个函数拥有多个声明的时候,每个声明的默认参数可以各不相同,在调用时又可能与每个声明都不同:这篇博客稍微列举一下C++ ...

  4. 前端Vue中常用rules校验规则

    前提 在 vue开发中,难免遇到各种表单校验,这里整理了网络上和自己平时高频率用到的一些校验方法.如果错误欢迎指出,后期不断补充更新. 1.是否合法IP地址 export function valid ...

  5. Android中jsoup的混淆规则【转】

    Android中jsoup的混淆规则版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com 说实话这篇文章的标题和内容我觉得很水,所以读者们要是也觉得这篇文章 ...

  6. 前端传数据到后台,后台用实体类接收不到引发的思考----Java bean中字段命名潜规则

    1.按照Java语法规范,通常在实体类中的属性,首字母都是小写的.这是由于JavaBean的规范导致的.一般JavaBean属性都是首字母小写,以驼峰命名格式命名,相应的 getter/setter ...

  7. JavaScript中this的绑定规则

    JavaScript中this的绑定规则 前言 我们知道浏览器运行环境下在全局作用域下的this是指向window的,但是开发中却很少在全局作用域下去使用this,通常都是在函数中进行使用,而函数使用 ...

  8. java中包命名常见规则

    做java的都知道java的包.类.接口.枚举.方法.常量.变量等等模型都有一套约定的命名规则! 学习每一种语言都应该学习对应语法和命名规则,以保持一个良好的编码风格.一来显示自己的专业.二来方便阅读 ...

  9. 关于js中值的比较规则问题

    上一篇文章提到了javascript中可变值与不可变值,如果你不知道什么是可变值和不可变值,可以先去看看那篇文章,再回来看这篇,因为这篇文章是基于可变值与不可变值讲解的. 那我就默认你知道什么是可变值 ...

  10. CI 框架中的自定义路由规则

    在 CI 框架中,一个 URL 和它对应的控制器中的类以及类中的方法是一一对应的,如: www.test.com/user/info/zhaoyingnan 其中 user 对应的就是控制器中的 us ...

随机推荐

  1. C++ const常量对象、常量成员函数和常引用

    01 常量对象 如果不希望某个对象的值被改变,则定义该对象的时候可以在前面加const关键字 class CTest { public: void SetValue() {} private: int ...

  2. 2019年上半年收集到的人工智能LSTM干货文章

    2019年上半年收集到的人工智能LSTM干货文章 门控神经网络:LSTM 和 GRU 简要说明 LSTM-CNN-Attention算法系列之一:LSTM提取时间特征 对时间序列分类的LSTM全卷积网 ...

  3. Xcode里面如何添加和配置pch文件??

    开发工具/原料: 1.Mac 2.Xcode(我这里目前用的Xcode的最新版本Xcode 7.3) PCH文件的部分发展史: 定义:pch全称为“precompiled header”,也就是预编译 ...

  4. 关于解决Xcode更新7.3之后插件不能用的问题

    Xcode更新7.3之后,之前安装好好的插件现在突然间不能用了(如:我在写背景颜色或者字体颜色的时候,突然间不出来联想的图案来供我选择了),解决这个问题的步骤如下: 1.打开电脑终端,把default ...

  5. ubuntu 安装elasticsearch

    elasticsearch简介  环境准备 elasticsearch:7.0.0 kibana          :7.0.0 安装 1.新创建普通用户 elasticsearch不能用root账号 ...

  6. fiddler---Fiddler查看get和post请求

    前几篇写了Fiddler的一些功能介绍,今天我们一起学习下如何通过fiddler查看get请求和post请求和get,post区别 get请求 1.启动fiddler,抓取安静博客地址 2.通过fid ...

  7. toast文本提示信息元素获取

    在做自动化的过程中,我们有可能会遇到toast提示语,这种提示语只会显示一两秒的样子,导致我们获取元素很困难 今天总结下怎么获取这个toast元素吧 例如下图所示的这种toast提示 图中红框的这种元 ...

  8. Html学习之十一(CSS选择器的应用一)

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. 攻防世界Web-bug

    一直误以为是二次注入,看了别人wp,自己梳理了一遍 首先打开题目页面 先注册一个账号 注册成功(注意这个UID) 然后注意下包,发现cookie中的user很可疑,是一串md5值,我们可以推测是我们注 ...

  10. arXiv网站

    arXiv 原先是由物理学家保罗·金斯巴格在1991年建立的网站, 我们会将预稿上传到arvix作为预收录,因此这就是个可以证明论文原创性(上传时间戳)的文档收录网站.