English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل تعليمي أساسي بلغة C

تحكم في العملية في لغة C

الوظائف في لغة C

المسافات في لغة C

المراجع في لغة C

الصفوف في لغة C

هياكل لغة C

ملفات لغة C

C أخرى

دليل مرجع لغة C

الجسور والمسافات في لغة C

لماذا نستخدم مصفوفة الهياكل؟

على سبيل المثال، هناك حالة حيث نحتاج إلى حفظ بيانات 5 طلاب. يمكننا استخدام الهيكل المقدم أدناه لحفظ ذلك.

#include <stdio.h>  
struct student  
{  
    char name[20];  
    int id;  
    float marks;  
};  
void main()
{
	struct student s1,s2,s3;
	int dummy;
	printf("输入学生1的姓名,身份证和分数 ");
	scanf("%s %d %f",s1.name,&s1.id,&s1.marks);
	scanf("%c",&dummy);
	printf("输入学生2的姓名,身份证和分数 ");
	scanf("%s %d %f",s2.name,&s2.id,&s2.marks);
	scanf("%c",&dummy);
	printf("输入学生3的姓名,身份证和分数 ");
	scanf("%s %d %f",s3.name,&s3.id,&s3.marks);
	scanf("%c",&dummy);
	printf("输出详细信息....\n");
	printf("%s %d %f\n",s1.name,s1.id,s1.marks);
	printf("%s %d %f\n",s2.name,s2.id,s2.marks);
	printf("%s %d %f\n",s3.name,s3.id,s3.marks);
}

النتيجة الإخراج

ادخل اسم الطالب 1، هوية الطالب ودرجاته James 90 90  
ادخل اسم الطالب 2، هوية الطالب ودرجاته Adoms 90 90  
ادخل اسم الطالب 3، هوية الطالب ودرجاته Nick 90 90       
الإخراج التفصيلي....        
James 90 90.000000                          
Adoms 90 90.000000                      
Nick 90 90.000000

في البرنامج المذكور أعلاه، نحن نستخدم الهيكل لتخزين بيانات 3 طلاب. ولكن إذا كان هناك 20 طالبًا، فإن تعقيد البرنامج سيزداد. في هذه الحالة، سنحتاج إلى إعلان 20 متغيرًا مختلفًا، وسيتم تخزينها واحدة تلو الأخرى. سيكون هذا أمرًا صعبًا، لأنه يجب إعلان متغير جديد في كل مرة يتم إضافة طالب جديد. تذكر أسماء جميع المتغيرات أيضًا مهمة صعبة. ولكن يمكننا في لغة C استخدام إعلان مصفوفة الهياكل، مما يتيح لنا تجنب إعلان متغيرات الهياكل المختلفة؛ يمكننا بدلاً من ذلك إنشاء مجموعة من الهياكل تحتوي على معلومات مختلفة عن الكيانات المختلفة.

C语言中的结构数组

يمكن تعريف مصفوفة الهياكل في لغة C كجمع من متغيرات الهياكل، حيث يحتوي كل متغير على معلومات حول كيان مختلف. يمكن استخدام مصفوفة الهياكل في لغة C لتخزين معلومات عن عدة كيانات من أنواع بيانات مختلفة. مصفوفة الهياكل تُسمى أيضًا مجموعة الهياكل.

لن نرى مثالاً على كيفية تخزين معلومات 5 طلاب وطباعتها باستخدام مصفوفة الهياكل.

#include <stdio.h>  
#include <string.h>    
struct student{    
    int rollno;    
    char name[10];    
};   
int main(){  
    int i;  
    struct student st[5];  
    printf("ادخل بيانات 5 طلاب");  
    for(i=0;i<5;i++){  
        printf("\nادخل الرقم:");  
        scanf("%d",&st[i].rollno);  
        printf("\nادخل الاسم:");  
        scanf("%s",&st[i].name);  
    }  
    printf("\nقائمة معلومات الطلاب:");  
    for(i=0;i<5;i++){  
        printf("\nالرقم:%d, الاسم:%s",st[i].rollno,st[i].name);  
    }  
       return 0;  
}

الإخراج:

ادخل بيانات 5 طلاب
ادخل الرقم: 1
ادخل الاسم: Sonoo
ادخل الرقم: 2
ادخل الاسم: Ratan
ادخل الرقم: 3
ادخل الاسم: Vimal
إدخال الرقم: 4
إدخال الاسم: James
إدخال الرقم: 5
إدخال الاسم: Sarfraz
قائمة معلومات الطلاب:
الرقم: 1، الاسم: Sonoo
الرقم: 2، الاسم: Ratan
الرقم: 3، الاسم: Vimal
الرقم: 4، الاسم: James
الرقم: 5، الاسم: Sarfraz