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

Добрый день подскажите я как канонически сетать строковые поля в стракты typedef

struct {
char* name;
} S;

S *init(char* name) {
S *s = (S *)malloc(sizeof(S));

s->name = &name[0];

return s;
}

int main(void) {
char *name = "test";

S *s = init(name);

printf("NAME: %s\n", s->name);
}


так норм?

меня в частности интересует строка
s->name = &name[0];

15 ответов

6 просмотров

копировать не забывай

Evgeniy-Terekhin Автор вопроса
Ruslan Molokin
копировать не забывай

что куда копировать?

т.к. вы в C++ чате, на всякий случай напомню, что malloc - это незаконно

Evgeniy Terekhin
что куда копировать?

так, ну вообще на самом деле тут совсем не правильно

Evgeniy-Terekhin Автор вопроса
Liber Azerate
Почему вдруг?

В том виде, в каком это в примере же, нет?

ты выделил память под структуру и внутри структуры дал полю адрес твоей строки как только твоя строка помрет - получишь segfault или ub

Evgeniy-Terekhin Автор вопроса
Ruslan Molokin
ты выделил память под структуру и внутри структуры...

а ну да оно работает видимо потому что строка живет в мэйне

Evgeniy Terekhin
а ну да оно работает видимо потому что строка живе...

второй вопрос, тебе действительно это в Сях надо сделать?

Evgeniy-Terekhin Автор вопроса
Ruslan Molokin
а какая цель?

расширение сознания

Evgeniy Terekhin
расширение сознания

ну я в плане - ты это как то использовать будешь или просто для галочки?

Evgeniy-Terekhin Автор вопроса
Ruslan Molokin
ну я в плане - ты это как то использовать будешь и...

ну я на расте работаю вот решил что мне знание си поможет

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
35
How to create an OS in C? what to study?
Linus
18
читать файл максимально быстро? странный вопрос))
zamtmn
53
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Подскажите, есть какие-то события создания/уничтожения у TFrame по типу TForm (OnCreate и OnClose/OnDestroy) ? Как отловить создание TFrame и "перед" уничтожением. На Tframe р...
Денис
8
а чем хуже?
Alexey Kulakov
10
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
1
Всем привет, передавал ли кто-нибудь File с рендер процесса в main? Просто виснет js. Где именно я без понятия. Не отрабатывают никакие логи. Как только я передаю обычный масс...
Ilya Ilya
4
Карта сайта