我对C相对陌生,我需要一些处理数组的方法的帮助。来自Java编程,我习惯于能够说int [] method()
,以返回一个数组。然而,我发现在C语言中,当你返回数组时,你必须使用指针。作为一个新程序员,我真的不明白这一点,即使我浏览了许多论坛。
基本上,我试图写一个方法,返回一个字符数组在c。我将提供方法(让我们称之为returnArray)与一个数组。它将从前一个数组创建一个新数组,并返回指向该数组的指针。我只是需要一些帮助,如何得到这个开始,以及如何读取指针一旦它被发送出数组。
数组返回函数的建议代码格式
char *returnArray(char array []){
char returned [10];
// Methods to pull values from the array, interpret
// them, and then create a new array
return &(returned[0]); // Is this correct?
}
函数的调用方
int main(){
int i = 0;
char array [] = {1, 0, 0, 0, 0, 1, 1};
char arrayCount = 0;
char* returnedArray = returnArray(&arrayCount); // Is this correct?
for (i=0; i<10; i++)
printf(%d, ",", returnedArray[i]); // Is this correctly formatted?
}
我还没有测试这个,因为我的C编译器还没有工作,但我想弄清楚这一点。