170 похожих чатов

Если я делаю так: char *msg = "example!"; то при

выходе из блока переменная удалится? память совободится? Сори за нубской вопрос))

33 ответов

8 просмотров

Она здесь и не выделяется. Example! будет размещен в сегменте данных только для чтения компилятором.

Удалиться. Код кстати невалиден

Ilya Zviagin
Удалиться. Код кстати невалиден

Отлично скомпиллился, в чем невалидность, мне как новечку. Это С код, если вдруг)

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ
Отлично скомпиллился, в чем невалидность, мне как ...

У тебя просто компилятор работает в режиме "а мне насрать"

Ilya Zviagin
Указатель должен быть Константным, на константу

На msvc кстати и вправду работает, по дефолту)

Ilya Zviagin
У тебя просто компилятор работает в режиме "а мне ...

Я запускаю через сборщик, там cmake, и компиляция через xtensa или как-то так.

Ilya Zviagin
У тебя просто компилятор работает в режиме "а мне ...

А что если он не в таком режиме, что не так в коде?

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ
Я запускаю через сборщик, там cmake, и компиляция ...

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

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ
А что если он не в таком режиме, что не так в коде...

https://stackoverflow.com/questions/13690306/conversion-from-string-literal-to-char-is-deprecated

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ
Запись куда? Сори :)

В объект, на который указывает эта переменная

Ilya Zviagin
В объект, на который указывает эта переменная

Так там не объекта, там же просто поинтер на кусок памяти, которая типа чар последовательность. Илия что-то не так понимаю?

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ
Так там не объекта, там же просто поинтер на кусок...

Объекта не будет, правильно, это константа. Но формально char* указывает на объект (переменную). И именно поэтому это UB

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ
Т.е. переменная = объект (формально)?

Объект тут имеется в виду переменная языка а не объект ООП

Ilya Zviagin
Объект тут имеется в виду переменная языка а не об...

А, тогда это сильно меняет контекст, понял:)

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ
А, тогда это сильно меняет контекст, понял:)

Объект в терминах языка с - это переменная любого типа

Artöm Bakri Al-Sarmini
Ну не любого. Ссылки, функции, void не объекты

Ок, тогда ссылка на блок памяти чар это не объект?

🤙🏻 ℙ𝔸𝕍𝔼𝕃 ᏦᎾᏢᏦᎾᏉ
Ок, тогда ссылка на блок памяти чар это не объект?

Самая ссылка объект. Ссылается она тоже на объект если не Константная.

Artöm Bakri Al-Sarmini
Да, был неправ

Ну я тоже наизусть не помню тем более что С

Artöm Bakri Al-Sarmini
Ссылка нет. Массив чаров да

Так ссылок нет в С , там указатели

Artöm Bakri Al-Sarmini
Ссылка нет. Массив чаров да

Ну лукой «Томом» это уже массив чаров, но это ж по сути указатель на начало блока, методов и свойств не имеет. Я не спорю, просто хочу понять.

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта