#c #char
Вопрос:
Я получаю эту ошибку, и я не знаю, почему
void mem_move(void* dest, void* src, unsigned size) { char* d = dest, * s = src; char buff[100]; char* b = buff; for (int i = 0; i lt; size; i ) *b[i] = *s[i]; for (int i = 0; i lt; size; i ) *d[i] = *b[i]; } void main() { char buffer[] = "one two three "; mem_move(buffer 3, buffer, 10); char buffer2[] = "one two three "; mem_move(buffer2, buffer2 3, 10); }
Я должен упомянуть, что я нахожусь в visual studio community edition 2022
Комментарии:
1. Это из
*b[i] = *s[i];
того, что должно бытьb[i] = s[i];
2.
b[i]
иd[i]
есть такой типchar
.
Ответ №1:
В этих заявлениях
*b[i] = *s[i]; *d[i] = *b[i];
вы разыменовываете указатели два раза, используя оператор индекса []
и оператор разыменования *
.
Писать
b[i] = s[i];
и
d[i] = b[i];
Обратите внимание, что в соответствии со стандартом C функция main без параметров должна быть объявлена как
int main( void )