I&#x27;ve found NaN initialization for floats to be a useful default (like undefined in Javascript) since it propagates.<p>Integer have no NaNs, so they are initialized with 0s since no other value really fits.<p>I don&#x27;t know for chars but I guess there are good reasons as well.