动态内存分配

来源:互联网 发布:sql like 编辑:程序博客网 时间:2024/05/01 15:08

C语言

#include<stdio.h>

#include<malloc.h>
#include<string.h>
#include<ctype.h>
#include<float.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#include<iostream>
#include<algorithm>#include<set>
#include<string>
#include<map>
#include<vector>
#include<numeric>
#include<bitset>
#include<queue>
#include<stack>
#define M(i,n,m) for(int i=n;i<m;i++)
#define N(j,n,m) for(int j=n;j<m;j++)
#define L(N,n) memset(N,n,sizeof(N))
const int MAX=1<<30;
const int MIN=-MAX;
using namespace std;
double PI=acos(-1);///用C输出


int main()
{
    int *a;
    int m;
    cin>>m;
    if((a=(int *)malloc(m * sizeof(int)))==NULL)        ///动态内存分配   
        exit(1);///终止
    M(i,0,m)
    a[i]=i*2;
    M(i,0,m)
    cout<<a[i]<<" ";
    cout<<endl;
    free(a);        ///注意释放内存空间

}


C++

#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<ctype.h>
#include<float.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#include<iostream>
#include<algorithm>#include<set>
#include<string>
#include<map>
#include<vector>
#include<numeric>
#include<bitset>
#include<queue>
#include<stack>
#define M(i,n,m) for(int i=n;i<m;i++)
#define N(j,n,m) for(int j=n;j<m;j++)
#define L(N,n) memset(N,n,sizeof(N))
const int MAX=1<<30;
const int MIN=-MAX;
using namespace std;
double PI=acos(-1);///用C输出


int main()
{
    int *a;
    int m;
    cin>>m;
    if((a=new int[m])==NULL1)
        exit(1);
    M(i,0,m)
    a[i]=i*2;
    M(i,0,m)
    cout<<a[i]<<" ";
    cout<<endl;
    delete[]a;
    return 0;
}

0 0