Я хочу иметь функцию C, которая читает файл и возвращает динамический массив из int. Каков наилучший способ инициализации указателей для этого массива?Каков самый чистый способ инициализации указателей в C?
Моя текущая версия:
void readFile(int* array,int* size){
// ...read the file and see there are X integers...
array = malloc(X * sizeof(int));
*size = X;
// ... fill the array ...
}
int main() {
int* array;
int size;
readFile(array,&size);
//Work with array
return 0;
}
Это дает мне инициализированы предупреждения, это нормально, просто сделать
int* array = NULL
или есть лучше и чище способ для достижения этой цели?
Почему вы не используете mmap()? Почему бы вам не использовать pread()? – dAm2K
Возможный дубликат [простой вопрос инициализации указателя] (http://stackoverflow.com/questions/1367363/simple-pointer-initialization-question) –
Вам нужно передать массив int ** в readFile(), иначе вы не возвращая адрес malloc() – OldProgrammer