У меня есть следующие части коды:возвращаемого значения таНоса
typedef struct Board* BoardP;
typedef struct Board {
int _rows;
int _cols;
char *_board;
} Board;
char* static allocateBoard(BoardP boardP, int row, int col) {
boardP->_rows = row;
boardP->_cols = col;
boardP->_board = malloc(row * col * sizeof(char));
return boardP->_board;
}
я не могу показаться, чтобы выяснить, почему это дает ошибку ожидается идентификатор или «(» перед «статического» он дает ошибку после того, как я изменил тип возвращаемого значения на char *, когда он был недействителен, не была дана ошибка.
и еще один вопрос: мне было приказано, что при использовании malloc приведение должно выполняться нормально, без приведения необходимо ли в этом случае?
благодаря
В C отбрасывание возврата из malloc не только необязательно, но и нежелательно, так как оно может скрыть ошибку, забывшуюся «#include». –
Какова цель возврата char *? Это не ошибка C, но я не понимаю, почему функция, инициализирующая объект, должна возвращать любые данные. – tibur