利用new / malloc
new:
int k1;
k1 = new int;
返回类型为int 类型(整数型指针),分配大小为 sizeof(int);
int* k2;
parr = new int [10];
返回类型为 int* 类型(整数型指针),分配大小为 sizeof(int) * 10;
malloc:
#include<malloc.h> 不要忘记了加对应的头文件
int* p;
p = (int ) malloc (sizeof(int));
第一、malloc 函数返回的是 void * 类型,如果你写成:p = malloc (sizeof(int)); 则程序无法通过编译,报错:“不能将 void 赋值给 int * 类型变量”。所以必须通过 (int *) 来将强制转换。
第二、函数的实参为 sizeof(int) ,用于指明一个整型数据需要的大小。如果你写成:
int* p = (int ) malloc (1);
比如想分配100个int类型的空间:
int p = (int *) malloc ( sizeof(int) * 100 );
malloc 只管分配内存,并不能对所得的内存进行初始化,所以得到的一片新内存中,其值将是随机的。
#include<stdio.h>
#include<string.h>
#include <malloc.h>
int A(int n