ساختار و تابع در برنامه نویسی C

رتبه: 0 ار 0 رای sssss
ساختار و تابع
نویسنده: تیم تولید محتوا زمان مطالعه 3 دقیقه
Banner Image

در این آموزش به کمک مثال با نحوه ارسال متغیر ساختار به عنوان آرگومان به تابع و همچنین بازگشت ساختار از تابع در برنامه نویسی C آشنا خواهید شد.

مشابه متغیرهای داخلی می توانید متغیرهای ساختار را نیز به یک تابع ارسال کنید.

ارسال ساختار به تابع

توصیه می کنیم قبل از یادگیری شیوه ارسال ساختار به تابع، آموزش های زیر را مرور کنید.

  • ساختارها در برنامه نویسی C
  • تابع در برنامه نویسی C
  • تابع تعریف شده توسط کاربر در C

ارسال ساختارها به تابع:

#include <stdio.h>

struct student {

char name[50];

int age;

};

// نمونه اولیه تابع

void display(struct student s);

int main() {

struct student s1;

printf(“Enter name: “);

// خواندن رشته ورودی از کاربر تا زمانیکه کاربر اینتر بزند

// کاراکتر اینتر است n

scanf(“%[^n]%*c”, s1.name);

printf(“Enter age: “);

scanf(“%d”, &s1.age);

display(s1); // ارسال ساختار به عنوان آرگومان

return 0;

}

void display(struct student s) {

printf(“nDisplaying informationn”);

printf(“Name: %s”, s.name);

printf(“nAge: %d”, s.age);

}

خروجی

Enter name: Bond

Enter age: 13

Displaying information

Name: Bond

Age: 13

در اینجا، متغیر ساختار s1 از نوع struct student تعریف شده است. متغیر با دستور ;(display(s1 به تابع ()display ارسال میشود.

بازگشت ساختار از تابع

در برنامه زیر نحوه بازگشت ساختار از تابع نوشته شده است:

#include <stdio.h>

struct student

{

char name[50];

int age;

};

// نمونه اولیه تابع

struct student getInformation();

int main()

{

struct student s;

s = getInformation();

printf(“nDisplaying informationn”);

printf(“Name: %s”, s.name);

printf(“nRoll: %d”, s.age);

return 0;

}

struct student getInformation()

{

struct student s1;

printf(“Enter name: “);

scanf (“%[^n]%*c”, s1.name);

printf(“Enter age: “);

scanf(“%d”, &s1.age);

return s1;

}

در اینجا، تابع ()getInformation با دستور ;()s = getInformation فراخوانی می شود. این تابع ساختاری از نوع struct student برمی گرداند. ساختار برگشتی از ابن تابع در تابع ()main نمایش داده می شود.

توجه داشته باشید که نوع متغیری هم که مقدار بازگشتی تابع در آن ذخیره می شود باید از نوع struct student است.

ارسال ساختار با ارجاع

علاوه بر این با استفاده از ارجاع نیز می توانید ساختار را به تابع ارسال کنید (مشابه با ارسال متغیرها از نوع داخلی). پیشنهاد میکنیم آموزش ارسال با ارجاع را مطالعه کنید.

در ارسال با ارجاع، آدرس متغیر ساختار به تابع ارسال می شود.

#include <stdio.h>

typedef struct Complex

{

float real;

float imag;

} complex;

void addNumbers(complex c1, complex c2, complex *result);

int main()

{

complex c1, c2, result;

printf(“For first number,n”);

printf(“Enter real part: “);

scanf(“%f”, &c1.real);

printf(“Enter imaginary part: “);

scanf(“%f”, &c1.imag);

printf(“For second number, n”);

printf(“Enter real part: “);

scanf(“%f”, &c2.real);

printf(“Enter imaginary part: “);

scanf(“%f”, &c2.imag);

addNumbers(c1, c2, &result);

printf(“nresult.real = %.1fn”, result.real);

printf(“result.imag = %.1f”, result.imag);

return 0;

}

void addNumbers(complex c1, complex c2, complex *result)

{

result->real = c1.real + c2.real;

result->imag = c1.imag + c2.imag;

}

خروجی

For first number,

Enter real part: 1.1

Enter imaginary part: -2.4

For second number,

Enter real part: 3.4

Enter imaginary part: -3.2

result.real = 4.5

result.imag = -5.6

در این برنامه، سه متغیر ساختار c1 ، c2 و آدرس result به تابع ()addNumbers ارسال می شود. result با ارجاع ارسال می شود.

با تغییر متغیر result در داخل تابع، متغیر result در تابع ()main نیز متناسب با آن تغییر می کند.

profile name
تیم تولید محتوا

بخندید کتاب بخونید و خوب باشید تا جامعه مون به آرامش برسه. لطفا ! هر سوالی دارید در بخش نظرات مطرح کنید. ما یا سایر هموطنان عزیز پاسخ خواهیم داد. برای کمک به سایت ما و گسترش آموزش در بین هموطنان، در سایتها، وبلاگ ها و شبکه های اجتماعی لینک سایت ما را درج کنید.

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه
آموزش سی اس اس (CSS) از صفر تا صد
آموزش سی اس اس (CSS) از صفر تا صد
قیمت محصول 10٪ 440,000 تومان 490,000
ادامه مطلب
آموزش برنامه نویسی سی پلاس پلاس
آموزش برنامه نویسی سی پلاس پلاس
قیمت محصول 80٪ 70,000 تومان 350,000
ادامه مطلب

دیدگاهتان را بنویسید

1 2 3 4 5

0 نظر درباره «ساختار و تابع در برنامه نویسی C»

    هنوز نظری برای این بخش ثبت نشده است
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید