文档章节

指针与动态内存分布

世__界
 世__界
发布于 2015/06/06 16:51
字数 316
阅读 4
收藏 0

一.指针

  1. 指针的类型是它所指向变量的类型,而不是指针本身数据值的类型,任何一个指针本身的数据值都是unsigned long int型。

  2. 允许声明指向void类型的指针。该指针可以被赋予任何类型对象的地址。

  3. void 指针赋值给int指针需要类型强制转换

    例:void *pv;

          int *pint;

          int i;

         pv=&i;

        pint=(int*)pv;

  4. 指针常量:不能通过指针来改变所指对象的值,但指针本身可以改变,可以指向另外的对象。

    例:

    const int n2=5;

    const int &pn=&n2;

    *pn=6;                      //错误

    const int n1=6;

    pn=&n1;                //对

二.动态内存分配

一.动态申请内存操作符new
  1. 格式:new 类型名T(初值列表)。

  2. 功能:在程序执行期间,申请用于存放T类型对象的内存空间,并依初值列表赋以初值。

  3. 结果值:成功:T类型的指针,指向新分配的内存。

    失败:0(NULL)

二.释放内存操作符delete
  1. 格式:delete 指针p;

  2. 功能:释放指针p所指向的内存。p必须是new操作的返回值。

    例:

    Point *p=new Point(1,2);

    Point *pt=new Point[2];    //创建对象数组

© 著作权归作者所有

世__界
粉丝 1
博文 24
码字总数 6923
作品 0
驻马店
私信 提问
数组、单链表、双链表的关系区别

数组: 静态分布内存 根据下标定位元素 查找的时间复杂度为O(1),插入或删除的时间复杂度为O(N) 初始化数组需要规定数组大小,不能扩展 数组优点: 查找速度相较于链表更快 随机访问性更...

最胖的瘦子
04/07
21
0
C++基础知识学习:new与delete表达式

C++中分配的内存大致有三类:静态存储区,栈内存和堆内存 其中,静态存储区是在程序编译阶段就已经分配好的,用于全局变量,static变量等;堆栈是比较常用的对象存储方式。 new和delete是C++...

wqli
2016/05/14
75
0
SylixOS 无Uboot版BSP

1. 函数栈 1.1物理内存分布 介绍函数栈之前,先介绍SylixOS Lite版本ARM平台的内存分布,根据BSP工程的连接脚本SylixOSBSP.ld可知,SylixOS的物理内存主要分为五段: 1.TEXT段又称代码段,主...

逍遥蓝云
2017/09/19
0
0
读书笔记 effective c++ Item 50 了解何时替换new和delete 是有意义的

1. 自定义new和delete的三个常见原因 我们先回顾一下基本原理。为什么人们一开始就想去替换编译器提供的operator new和operator delete版本?有三个最常见的原因: 为了检测内存使用错误。不...

harlanc
2017/04/19
0
0
深入学习java虚拟机(一)

运行时数据区域 Java虚拟机在执行Java程序过程中把所管理的内存划分为以下几个不容的数据区域,这些区域都有各自的用途,以及创建时间和销毁时间。 程序计数器、虚拟机栈、堆、方法区、本地方...

ZHAOBEN
2016/04/14
158
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
今天
4
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部