struct myStruct{
int one;
int two;
};
typedef struct{
int one;
int two;
}myStruct;
Bu iki tanım arasında ne tür bir fark oluyor? MCU kütüphanelerinde genelde typedef ile oluşturulan struct yapılarını gördüm. Neden typedef tercih ediliyor?
Ikinci tanım yapıldıktan sonra tanım int, char gibi bir veri tipi haline gelir. Bu sayedemyStruct arr1;
myStruct arr2;
tanımlayabilirsiniz.
Aşağıdaki linkte bu konuyla ilgili tanımlar var.
https://www.picproje.org/index.php?topic=71706.0
typedef ile yeni tür tanımlanıyor, int char gibi.
typedef ile tanımlarsan "myStruct i;" ile myStruct türünden bir değişken oluşturursun.
Diğerinde ise "struct myStruct i;" şeklinde tanımlaman gerekir.
typedef ile tanımlamak hem daha az yazım yapmana hemde daha anlaşılır kod yazmayı sağlar.
Bunun haricinde bir fark yok. Ayrıca typedef sadece struct tanımlarken değil, yeni bir tür tanımlamak için kullanılır.
Mesela sen ahmet adında 8 bitlik bir değişken türü tanımlamak istersen "typedef uint8_t ahmet;" tanımı ile "ahmet i;" şeklinde değişken tanımı yapabilirsin.