C语言动态数组如何作为外部变量声明

a.c中的一个函数想分配一个动态数组,malloc来分配。想在b.c中的函数中调用该数组。怎么在头文件中来声明这个外部变量?

那你可以将这个数组定义为全局变量。
在a.c文件中 int *pgloabal=new int[10];

在b.c文件中extern int *pglobal;申明这个数组已经在别的源文件中定义。

在链接的时候就可以找到这个pglobal了。

你可以查查如何定义一个全局变量。在c++中申明和实现分离。c语言中应该可以
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-17
new int char[n]; //n是你想开的数组长度;
第2个回答  推荐于2016-05-15
前面加extern 关键字
如:a.c
int * array;
array=(int *)malloc(4*sizeof(int));
b.c
extern int * array;
printf("%d\n",array[0]);本回答被提问者采纳
第3个回答  2013-05-17
查下extern吧
第4个回答  2013-05-17
。。。不懂你想问什么。
相似回答