Невозможно назначить указатель на символ для массива символов - PullRequest
3 голосов
/ 13 октября 2019

Мне нужно назначить указатель на массив символов:

char str1[17];
char* h="hey";
str1 = h;

Но я получаю эту ошибку: error C2440: '=' : cannot convert from 'char *' to 'char [17]'.

Я думал, что имя массива такое жепоскольку указатель на символ и имя массива является адресом первого символа массива, поэтому назначение указателя на символ для имени массива будет работать.

Я не знаю, почему я получаю ошибку.

Как я могу это исправить?

1 Ответ

3 голосов
/ 13 октября 2019

Вы не можете заставить str1 указывать на другой адрес.

Что вы можете сделать, это использовать strncpy, чтобы скопировать содержимое из h в str1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...