اشاره گرها و آدرس های ارسالی به تابع در برنامه نویسی C

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

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

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

مثال: ارسال آدرس ها به تابع

#include <stdio.h>

void swap(int *n1, int *n2);

int main()

{

int num1 = 5, num2 = 10;

// ارسال آدرس به تابع

swap( &num1, &num2);

printf(“num1 = %dn”, num1);

printf(“num2 = %d”, num2);

return 0;

}

void swap(int* n1, int* n2)

{

int temp;

temp = *n1;

*n1 = *n2;

*n2 = temp;

}

خروجی

num1 = 10

num2 = 5

آدرس های num1 و num2 با استفاده از دستور swap(&num1, &num2); به تابع swap() ارسال می شوند.

اشاره گرهای n1 و n2 این آرگومان ها را در تعریف تابع پذیرش می کنند.

void swap(int* n1, int* n2) {

… ..

}

با تغییر *n1 و*n2 در داخل تابع ()swap ، مقادیر num1 و num2 نیز در داخل تابع ()main تغییر می کنند.

*n1 و*n2 در تابع ()swap جابجا شده اند، در نتیجه num1 و num2 نیز جابجا می شوند.

توجه داشته باشید که تابع ()swap هیچ مقداری بر نمی گرداند و نوع بازگشتی آن void است.

مثال ۲: ارسال اشاره گرها به تابع

#include <stdio.h>

void addOne(int* ptr) {

(*ptr)++; // اضافه می کند *ptr یک واحد به

}

int main()

{

int* p, i = 10;

p = &i;

addOne(p);

printf(“%d”, *p); // 11

return 0;

}

در اینجا، مقدار ذخیره شده در i، *p ابتدا برابر ۱۰ می باشد سپس اشاره گر p به تابع ()addOne ارسال شده است. در تابع ()addOne، اشاره گر ptr این آدرس را می گیرد. در داخل تابع مقدار ذخیره شده در آدرسی که ptr به آن اشاره می کند، با دستور (*ptr)++;یک واحد افزایش می یابد. چون هر دو اشاره گر ptr و p آدرس یکسانی دارند پس *p در ()main نیز برابر با ۱۱ شده است.

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

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

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

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

مشاهده همه
آموزش برنامه نویسی سی پلاس پلاس
آموزش برنامه نویسی سی پلاس پلاس
قیمت محصول 230,000 تومان 250,000
ادامه مطلب

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

1 2 3 4 5

0 نظر درباره «اشاره گرها و آدرس های ارسالی به تابع در برنامه نویسی C»

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