Предполагая, что 'ошибка' в вашем коде - просто опечатка (она должна быть obj = malloc(sizeof(*obj));
или вы выделите достаточно места для хранения указателя ), тогда в стандарте нет ничегочтобы указать, к чему будут инициализированы выделенные данные.
Если вы хотите определенный режим инициализации, то вы можете использовать calloc
:
obj = calloc(1, sizeof(*obj)); // Note: sizeof(obj) = pointer size but sizeof(*obj) is struct size
, который инициализирует всеВыделенные байты равны нулю.