Возврат массива с использованием 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

Ответы на вопрос(8)

Ваш ответ на вопрос