C-də Struktur və Birlik Arasındakı Fərq

Mündəricat:

C-də Struktur və Birlik Arasındakı Fərq
C-də Struktur və Birlik Arasındakı Fərq

Video: C-də Struktur və Birlik Arasındakı Fərq

Video: C-də Struktur və Birlik Arasındakı Fərq
Video: ƏDƏD MƏSƏLƏLƏRİ | SERTİFİKASİYA,MİQ | AĞABƏYLİ İSAMƏDDİN 2024, Noyabr
Anonim

Əsas Fərq – C-də Struktur və Birlik

Masiv C dili ilə dəstəklənən məlumatdır. Massiv eyni tipli məlumat elementlərini saxlamaq üçün istifadə edilə bilər. int işarələri kimi ifadə varsa [10]; onda işarələr on işarə saxlaya bilən massivdir və onların hamısı tam ədədlərdir. Bəzən eyni yaddaş yerində müxtəlif tipli məlumat elementlərini saxlamaq tələb olunur. Məsələn, işçinin işçinin şəxsiyyət vəsiqəsi, adı, şöbəsi, yaşı və s. ola bilər. Onlar müxtəlif məlumat növləridir. Buna görə də müxtəlif məlumat elementlərini vahid vahid kimi saxlamaq üçün bir üsula sahib olmaq lazımdır. C-də Strukturlar və Birliklər eyni yaddaş yerində müxtəlif tipli məlumat elementlərini saxlamaq üçün istifadə olunur. Struktur və birlik oxşardır, lakin onlar əsasən yaddaş bölgüsünə görə fərqlənirlər. Struktur dəyişənini saxlamaq üçün tələb olunan yaddaş bütün üzvlərin yaddaş ölçüsünün cəmidir. Birlik dəyişənini saxlamaq üçün tələb olunan yaddaş birləşmənin ən böyük elementi üçün tələb olunan yaddaşdır. C-də quruluş və birlik arasındakı əsas fərq budur. Bu məqalə C-də quruluş və birlik arasındakı fərqdən bəhs edir.

C-də Struktur nədir?

Struktur C-də istifadəçi tərəfindən müəyyən edilmiş məlumat növüdür. O, müxtəlif növ məlumat elementlərini birləşdirməyə kömək edir. Struktur qeydləri təmsil edə bilər. Tələbənin tələbə_id, tələbə_adı və s. ola bilər. Hər dəyişəni ayrıca saxlamaq əvəzinə, bütün bu müxtəlif məlumat elementləri strukturdan istifadə edərək vahid vahiddə yığcam ola bilər. 'struct' açar sözü ilə müəyyən edilir. Strukturda onun bütün üzvlərinə istənilən vaxt daxil olmaq olar. Aşağıdakılar əldə edilmiş məlumat tipi strukturu Tələbə yaradır.

struct Tələbə {

tələbə_id;

char tələbə_adı[20];

};

Yuxarıdakı struktur üçün dəyişənlər aşağıdakı kimi elan edilə bilər.

struct Tələbə tələbə1, tələbə2, tələbə3;

Struktur üzvlərinə daxil olmaq üçün iki üsul var. Yəni üzv operator (.) və struktur göstərici operatoru (->) istifadə olunur. Üzvlərə struktur_dəyişən_adından istifadə etməklə daxil olmaq olar. üzv adı. Proqramçı tələbə 2-nin adına daxil olmaq istəyirsə, o zaman ifadəni printf(student2.student_name); kimi yaza bilər.

Aşağıdakı proqrama strukturu ilə baxın.

C-də Struktur və Birlik Arasındakı Fərq
C-də Struktur və Birlik Arasındakı Fərq

Şəkil 01: Strukturlu C proqramı

Yuxarıdakı proqrama görə Tələbə strukturdur. O, tələbə_id və tələbə_adı ehtiva edir. Əsas proqramda struktur tipli iki dəyişən elan edilir. Onlara tələbə1 və tələbə2 deyilir. Student1-in id-si üzv operatordan student1.student_id=1 kimi istifadə edərək 1 dəyəri ilə təyin edilir. "Ann" adı bir simdir. Buna görə də, strcpy string copy funksiyasından istifadə edərək student_name üzvünə kopyalanır. İd və ad eyni şəkildə student2-yə təyin edilir. Nəhayət, həmin dəyərlər üzv operatoru ilə çap olunur.

Struktur dəyişənini saxlamaq üçün tələb olunan yaddaşın miqdarı bütün üzvlərin yaddaş ölçüsünün cəmidir. student_id 4 baytdan, student_name isə 20 baytdan ibarətdir (bir simvol üçün hər biri bir bayt). Ümumi 24 bayt strukturun tələb etdiyi yaddaş ölçüsünün cəmidir.

C-də Union nədir?

Birlik C dilində istifadəçi tərəfindən müəyyən edilmiş məlumat növüdür. O, müxtəlif məlumat növlərini eyni yaddaş yerində saxlamağa kömək edir. Kitabın kitab_adı, qiymət və s. kimi xassələri ola bilər. Onların hər biri üçün dəyişənlər yaratmaq əvəzinə, ittifaqdan istifadə edərək bütün müxtəlif məlumat növlərini bir vahidə yığışdırmaq üçün birlik istifadə edilə bilər. O, "birlik" açar sözü ilə müəyyən edilir. Aşağıdakılar əldə edilmiş məlumat birliyi Kitabı yaradır.

unionBook{

simvol adı[20];

ikiqat qiymət;

};

Yuxarıdakı birləşmə üçün dəyişənlər aşağıdakı kimi elan edilə bilər.

birlik Kitab kitab1, kitab2;

Birlik üzvlərinə daxil olmaq üçün iki üsul var. Yəni üzv operator (.) və struktur göstərici operatoru (->) istifadə olunur. Üzvlərə union_variable_name istifadə edərək daxil olmaq olar. üzv adı. Proqramçı kitabın1 adına daxil olmaq istəyirsə, o zaman ifadəni printf(book1.name); kimi yaza bilər.

Aşağıdakı proqrama birlik ilə baxın.

C_Şəkil 02-də Struktur və Birlik Arasındakı Fərq
C_Şəkil 02-də Struktur və Birlik Arasındakı Fərq

Şəkil 02: Birlikdən istifadə edən C proqramı

Yuxarıdakı proqrama əsasən, Kitab birlikdir. Kitab1 birlik tipli dəyişəndir. Ad və qiymət təyin edilmiş dəyərlərdir. Birlikdə onun üzvlərindən yalnız birinə eyni anda daxil olmaq olar və bütün digər üzvlər zibil dəyərlərinə sahib olacaqlar. İd dəyəri düzgün çap edilmir, lakin qiymət dəyəri düzgün çap olunur.

C-də Struktur və Birlik arasındakı əsas fərq
C-də Struktur və Birlik arasındakı əsas fərq

Şəkil 03: Birlik ilə dəyişdirilmiş C proqramı

Yuxarıdakı proqrama görə, Kitab birlikdir. book1 və book2 birləşmə tipli dəyişənlərdir. Əvvəlcə kitab1 adı üçün dəyər təyin edilir və çap olunur. Sonra kitab2 adı üçün qiymət təyin edilir və çap olunur. Bütün üzvlər düzgün çap edir, çünki eyni anda bir üzv istifadə olunur. Birliyi saxlamaq üçün lazım olan yaddaş, birliyin ən böyük elementi üçün tələb olunan yaddaşdır. Yuxarıdakı proqramda ad dəyişəni 20 baytdır. Qiymətindən böyükdür. Beləliklə, birlik üçün yaddaş ayrılması 20 baytdır.

C-də Struktur və Birlik Arasındakı oxşarlıqlar nələrdir?

  • C-də həm Struktur, həm də Birlik istifadəçi tərəfindən müəyyən edilmiş məlumat növləridir.
  • C-də həm Struktur, həm də Birlik fərqli məlumat növlərini eyni yaddaş yerində saxlamaq üçün istifadə edilə bilər.

C-də Struktur və Birlik Arasındakı Fərq Nədir?

C dilində Struktur və Birlik

Struktur müxtəlif tipli məlumatları bir yerdə birləşdirməyə imkan verən C dilində istifadəçi tərəfindən müəyyən edilmiş məlumat növüdür. Union müxtəlif tipli məlumatları bir yerdə birləşdirməyə imkan verən C dilində istifadəçi tərəfindən müəyyən edilmiş məlumat növüdür.
Əlçatanlıq
Bir strukturda onun bütün üzvlərinə istənilən vaxt daxil olmaq olar. Birlikdə onun üzvlərindən yalnız birinə eyni anda daxil olmaq olar və bütün digər üzvlər zibil dəyərlərini ehtiva edəcək.
Yaddaş Ayırma
Struktur dəyişənini saxlamaq üçün tələb olunan yaddaş bütün üzvlərin yaddaş ölçüsünün cəmidir. Birlik dəyişənini saxlamaq üçün tələb olunan yaddaş birləşmədəki ən böyük element üçün tələb olunan yaddaşdır.
Açar söz
Strukturu müəyyən etmək üçün istifadə olunan açar söz "struct"dur. Birliyi müəyyən etmək üçün istifadə edilən açar söz "birlik"dir.

Xülasə – C-də Struktur və Birlik

Eyni tipli məlumat elementlərini saxlamaq üçün massiv istifadə olunur. Bəzən eyni yaddaş yerində müxtəlif tipli məlumat elementlərini saxlamaq lazımdır. C proqramlaşdırma dili bu tapşırığı yerinə yetirmək üçün struktur və birləşmə təmin edir. Hər ikisi istifadəçi tərəfindən müəyyən edilmiş məlumat növləridir. Struktur dəyişənini saxlamaq üçün tələb olunan yaddaş bütün üzvlərin yaddaş ölçüsünün cəmidir. Birlik dəyişənini saxlamaq üçün tələb olunan yaddaş birləşmənin ən böyük elementi üçün tələb olunan yaddaşdır. Bu, C. dilində struktur və birləşmə arasındakı fərqdir.

Tövsiyə: