C语言 VC中 new怎么使用啊

来源:百度知道 编辑:UC知道 时间:2024/06/22 06:53:51
我想要为1000000个数排序
但是似乎犹豫内存控制方面的问题
不能直接分配有1000000个元素的long型数组的空间
google了一下 没能找到相关知识
不过似乎要使用new这个....
请大虾能告诉我new怎么用
或者给我说哪里我可以学到new怎么用
或者怎样分配到1000000个元素的数组所需内存

1、首先new关键词是用来动态申请内存的,
2、c语言是没有new关键字的,使用malloc函数来动态申请内存
下面是一个用户想在运行时用户输入N来确定数组长度,程序如下:
但是此时如果编译器不支持C99该程序是会报错的。在vc6.0中应该会报错。
#include<stdio.h>
int main()
{
int N;
scanf("%d",&n);
int a[N][N]; //

return 0;
}
3、但是可以用动态申请内存的方式解决
#include<stdio.h>
#include<stdlib.h>
int main()
{
int N,*p;
int i;
printf("请输入数组元素的个数:");
scanf("%d",&N);
p=(int*)malloc(N*sizeof(int));
//此时如果申请成功,p指向一个有N个元素的内存区域。可以当作有N个元素的数组。
if(!p)
exit(1);
for(i=0;i<N;i++)
p[i]=i; //因为p可以当作数组使用,p[i]就是数组的第i个元素
for(i=0;i<N;i++)
printf("%d",p[i]);
return 0;
}

在C语言中 我们必须使用malloc函数,因为C语言没有new这个操作符,但是如果你的编译器是C++的话,是可以使用new的.

C语言的malloc函数的使用方法:
1.首先定义一个long指针,像这样long* pNumber;
2.动态开辟一片内存(1000000个long),可以这样malloc(sizeof(long) * 1000000); malloc函数唯一的参数是一个size_t(unsigned long类型),它表示你要