В C это обычная идиома обнуление памяти для struct
с использованием memset
:
struct x myStruct;
memset(&myStruct, 0, sizeof(myStruct));
Технически говоря, я не верю, что это переносимо, потому что предполагается, что указатель NULL
на машине представлен целочисленным значением 0, но он широко используется, потому что на большинстве машин это так.
Если вы переходите с C на C ++, будьте осторожны, чтобы не использовать эту технику на каждом объекте. C ++ делает это допустимым только для объектов без функций-членов и без наследования.