Ваш дочерний процесс, скорее всего, остановлен из-за ошибки сегментации:
*myName = "child";
недопустимо, поскольку ваш компилятор должен был сказать вам (если он не предупреждал об этом, пожалуйста, включите уровень предупреждений / диагностики).
Если вы хотите изменить myName
, вам нужно использовать что-то вроде strcpy
. Но вы не можете сделать это на myName
, потому что это может указывать на постоянную память. Вы должны инициализировать его динамической памятью, как вы делаете для указателя dyn
.
Если все, что вам нужно, это то, что myName
указывает на другую строку, вы можете использовать:
myName = "child";