Возврат массива с использованием C
Я относительно новичок в C, и мне нужна помощь с методами работы с массивами. Исходя из программирования на Java, я привык говоритьint [] method()
чтобы вернуть массив. Однако я обнаружил, что с C вы должны использовать указатели для массивов, когда возвращаете их. Будучи новым программистом, я действительно не понимаю этого вообще, даже с многочисленными форумами, которые я просматривал.
По сути, я пытаюсь написать метод, который возвращает массив символов в C. Я предоставлю метод (давайте назовем его returnArray) с массивом. Он создаст новый массив из предыдущего массива и вернет на него указатель. Мне просто нужна помощь о том, как начать и как прочитать указатель, как только он будет отправлен из массива. Любая помощь, объясняющая это, приветствуется.
Proposed Code Format for Array Returning Function
char *returnArray(char array []){
char returned [10];
//methods to pull values from array, interpret them, and then create new array
return &(returned[0]); //is this correct?
}
Caller of the Function
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?
}
I have not tested this yet as my C compiler is not working at the moment but I would like to figure this out