Задать вопрос
@kofon
Я человек

Нубовской вопрос по C++! Как устроен char*?

Смотрите на фото:
045ca0929bb94ab9ab552db3b2d99077.PNG

Откуда символы после знака '!' и как их убрать?
Пробовал вставить '\0' но потом невозможно удалить строку через delete
  • Вопрос задан
  • 582 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@vilgeforce
Раздолбай и программист
Да...
char str[] = "Hello World!\n\n\n";

Касательно вопроса: char* хранит адрес в памяти, как и всякий указатель.
Ответ написан
Комментировать
В смысле нельзя удалить? Поставить \0 в конце это правильная идея, поскольку он означает конец строки.
Рабочий пример
#include <iostream>
 
int main() {
	int count = 100;
	char *text = new char[count];
	text[0] = 'h';
	text[1] = 'e';
	text[2] = 'l';
	text[3] = 'l';
	text[4] = 'o';
	text[5] = '!';
	text[6] = '\0';
	std::cout << text << std::endl;
	delete[] text;
	return 0;
}
Ответ написан
@kofon Автор вопроса
Я человек
разницы нет, ставить [] или нет???
4cf6e20a39644bcbae0ee5b2a9dca2c5.PNG--------------------------------------------------

А тут всё окей, без скобок!
--------------------------------------------------
90e1116400bd4fa8995b9936ceb4d819.PNG
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы