zoukankan      html  css  js  c++  java
  • 指针与变量(或数组)的动态创建与释放

    1、变量内存的动态分配(创建)与释放:通过指针,动态间接赋值、取值

    指针变量名=new 数据类型(初始值); 初始值可省略,后边再赋值。

    delete 指针变量名;

    #include<iostream>
    using namespace std;
    int main() {
        //int *p = new int; *p = 5;
        int *p = new int(5);//new运算符,动态创建一个int型变量(无变量名),值为5。
        cout << *p;//输出所指地址的值
        delete p;//释放指针变量的内存空间
        return 0;
    }

    2、一维数组的动态分配(创建)与释放:

    指针变量名=new 数据类型[正整数常量、变量或表达式];

    delete [ ]指针变量名;

    #include<iostream>
    using namespace std;
    int main() {
        int *p = new int[5];//new运算符,动态创建一个int型数组(无数组名)。
        *(p + 1) = 10;//赋值第2个元素
        //或p[1]=10;
        cout << p[1];//输出所指地址的值
        delete []p;//释放指针变量数组的内存空间
        return 0;
    }

    显示Fibonacci数列的前N项,0,1,1,2,3,5,8,…

    #include<iostream>
    using namespace std;
    int main() {
        int N;
        cin >> N;
    
        int *p = new int[N]; //动态创建包含N个元素的数组
        p[0] = 0; p[1] = 1;//给定第1、2元素的值,等效*p=0;*(p+1)=1;
        for (int i = 2; i < N; i++){
            p[i] = p[i - 1] + p[i - 2];
        }
        for (int i = 0; i < N; i++)
        {
            cout << p[i] << " ";
        }
        delete []p;//释放指针变量数组的内存空间
        return 0;
    }
  • 相关阅读:
    7进程、线程、协程
    架构
    5oop面向对象编程
    2流程控制
    redis
    1HTML
    3.函数、递归、模块
    2、变量、数据类型、运算符、流程控制
    一个小公司的性能测试工程师应该如何开展工作
    程序代码调优工具perf学习记录
  • 原文地址:https://www.cnblogs.com/xixixing/p/10068481.html
Copyright © 2011-2022 走看看