Bellekle sizeof
ilgili işlemler için kullanmanın iki stilini gördüm (örneğin memset
veya içinde malloc
):
sizeof(type)
, vesizeof variable
veyasizeof(variable)
Hangisini tercih edersiniz, ya da iki stilin bir karışımını kullanırdınız ve her bir stili ne zaman kullanırdınız? Her stilin artıları ve eksileri nelerdir ve bunları kullandığınızda?
Örnek olarak, bir stilin yardımcı olduğu ve diğerinin desteklemediği aşağıdaki durum çiftini görebiliyorum:
İşaretçi yönlendirmesini yanlış aldığınızda:
type *var;
...
memset(var, 0, sizeof var); /* oops */
Tür değiştiğinde:
new_type var; /* changed from old_type to new_type */
...
memset(&var, 0, sizeof(old_type)); /* oops */