Я относительно новичок в C, и мне нужна помощь в методах работы с массивами. Исходя из Java-программирования, я привык говорить int [] method()
, чтобы вернуть массив. Тем не менее, я выяснил, что с C вам нужно использовать указатели для массивов, когда вы их возвращаете. Будучи новым программистом, я действительно не понимаю этого вообще, даже со многими форумами, которые я просмотрел.
В основном, я пытаюсь написать метод, который возвращает массив char в C. Я предоставлю метод (разрешаю его returnArray) с массивом. Он создаст новый массив из предыдущего массива и вернет указатель на него. Мне просто нужна помощь в том, как это начать и как читать указатель после его отправки из массива. Любая помощь, объясняющая это, ценится.
Предлагаемый формат кода для возвращаемой функции массива
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?
}
Звонок функции
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 не работает в данный момент, но я хотел бы понять это.