• 动态内存分配(C++)


    • C++中的动态内存分配
    1. C++中通过new关键字进行动态内存分配
    2. C++中的动态内存申请是基于类型进行的
    3. delet关键字用于内存释放
    1  1 //变量申请
    2  2 Type*pointer = new Type;
    3  3 //....
    4  4 delete pointer;
    5  5  
    6  6 //数组申请
    7  7 Type*pointer = new Type[N];
    8  8 //....
    9  9 delete[] pointer;
    10 #include "stdio.h"
    11 int main()
    12 {
    13         //new可以初始化
    14         int *p = new int(100);
    15         //*p = 5;
    16         *p = *p + 5;
    17         printf("p=%p
    ",p);
    18         printf("*p=%d
    ",*p);
    19         delete p;
    20         p = new int[10];
    21         for (int i = 0; i < 10;i++)
    22         {
    23                p[i] = i + 1;
    24                printf("p[%d]=%d
    ",i,p[i]);
    25         }
    26         delete p;
    27         return 0;
    28 }
    运行结果:

    pi@raspberrypi:~ $ g++ main.cpp
    pi@raspberrypi:~ $ ./a.out
    p=0x15c4058
    *p=105
    p[0]=1
    p[1]=2
    p[2]=3
    p[3]=4
    p[4]=5
    p[5]=6
    p[6]=7
    p[7]=8
    p[8]=9
    p[9]=10

    • new关键字与malloc函数的区别
    1. new关键字是C++的一部分
    2. malloc是由C库提供的函数
    3. new以具体类型为单位进行内存分配
    4. malloc以字节为单位进行内存分配
    5. new在申请单个类型变量时可进行初始化
    6. malloc不具备内存初始化的特性
     
    主要记录的是学习听课的笔记
  • 相关阅读:
    表的相关操作
    存储引擎介绍
    库的相关操作
    初始数据库
    linux版本的mysql安装
    mysql在windows上的安装即配置
    线程实际操作篇
    用户模板和用户场景
    顶会热词统计
    移动端疫情展示
  • 原文地址:https://www.cnblogs.com/chengeputongren/p/12177879.html
Copyright © 2020-2023  润新知