Sign-up....

弱问:如何在子程序中申请数组?

我想在一个子程序中申请一个数组,然后通过参数返回首址指针

我的程序错在哪儿了?谢谢~~~

#include <stdlib.h>

#include <stdio.h>

void test(char* array)

{

int i;

array=(char*)calloc(12,sizeof(char));

for(i=0;i<12;i++)

{

array[i]='A'+i;

}

}

int main(int argc,char** argv)

{

int i;

char* array=0;

test(array);

for(i=0;i<12;i++)

{

printf("%c\n",array[i]);

}

return 0;

}

[332 byte] By [msdn] at [2007-10-1 16:51:01]
# 1 Re: 弱问:如何在子程序中申请数组?

void test(char* array) //void test(char** array)

*array=(char*)calloc(12,sizeof(char));

test(&array); //test(array); 能改变array的值吗?

pcboyxhy at 2005-4-17 13:17:13 >
# 2 Re: 弱问:如何在子程序中申请数组?

void test(char* array)//char *test ()

ycom__net at 2005-4-17 13:23:09 >
# 3 Re: 弱问:如何在子程序中申请数组?

这个程序看着怎么这么别扭,

我觉得你这种写程序的方式就非常不好。

kunp at 2005-4-17 14:12:18 >
# 4 Re: 弱问:如何在子程序中申请数组?

用二维指针来修改指针的值

同时函数中申请的内存,需要注意释放

oyljerry at 2005-4-17 16:40:31 >
# 5 Re: 弱问:如何在子程序中申请数组?

谢谢各位

s_topman at 2005-4-17 18:19:53 >

C/C++

All Classified