اینم از جلسه نهم با زبان C 😎
• این قسمت میخوایم با یکی از قابلیتهای باحال و کاربردی زبان C آشنا بشیم: ساختارها یا همون struct.
• ساختارها بهمون کمک میکنن چندتا داده با نوعهای مختلف رو کنار هم نگه داریم. مثلاً برای ثبت اطلاعات یک دانشجو، میتونیم اسم، شمارهٔ دانشجویی و معدلش رو توی یک ساختار قرار بدیم.
▎ 1. سینتکس تعریف ساختار
ساختار رو به این شکل تعریف میکنیم:
struct StructureName
{
data_type member1;
data_type member2;
};
• struct
مشخص میکنه که داریم یک ساختار تعریف میکنیم.
• StructureName
اسم ساختاره.
• member
ها هم دادههایی هستن که داخل ساختار نگه میداریم.
▎ 2. یک مثال ساده
بیایین یک ساختار برای اطلاعات دانشجو بسازیم:
#include <stdio.h>
struct Student
{
char name[50];
int studentNumber;
float average;
};
int main()
{
struct Student student1 = {"Sara", 12345, 18.75};
printf("Name: %s\n", student1.name);
printf("Student number: %d\n", student1.studentNumber);
printf("Average: %.2f\n", student1.average);
return 0;
}
• اینجا Student اسم ساختاره و name، studentNumber و average عضوهای اون هستن.
• با نوشتن struct Student student1 یک متغیر از نوع ساختار Student میسازیم.
▎ 3. دسترسی به عضوهای ساختار
برای دسترسی به عضوهای یک متغیر ساختاری، از نقطه (.) استفاده میکنیم:
student1.studentNumber = 54321;
student1.average = 19.25;
• مثلاً student1.average یعنی عضو average از متغیر student1.
▎ 4. استفاده از ساختار بهعنوان ورودی تابع
ساختارها رو میتونیم به تابع هم بفرستیم:
#include <stdio.h>
struct Student
{
char name[50];
int studentNumber;
float average;
};
void printStudent(struct Student student)
{
printf("Name: %s\n", student.name);
printf("Average: %.2f\n", student.average);
}
int main()
{
struct Student student1 = {"Sara", 12345, 18.75};
printStudent(student1);
return 0;
}
• توی این مثال، تابع printStudent یک متغیر از نوع struct Student میگیره و اطلاعاتش رو چاپ میکنه.
▎ نکته مهم 🔍
• یادتون باشه بعد از آکولاد پایانیِ تعریف ساختار، باید ; بذارین.
▎ نکته ماژولار 🔧
• ساختارها کمک میکنن دادههای مرتبط رو مرتب کنار هم نگه داریم. مثلاً اطلاعات یک دانشجو، کتاب یا محصول رو میتونیم داخل یک ساختار قرار بدیم و راحتتر باهاشون کار کنیم.
سوالی بود تو قسمت دیدگاهها بگید!
6 · 583 · Messageاینم از جلسه نهم با زبان C 😎
3 October 2026Nearby in the feed
Pthis message
P