خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه پژوهشی - آموزشی بنیان دانش توس در اسفند 1390 با همکاری تعدادی از دانشجویان تحصیلات تکمیلی دانشگاه های معتبر تهران و مشهد شروع به کار کرد و توفیقات زیادی کسب نمود که به تدریج در وبلاگ بارگزاری خواهد شد. در همین راستا شاخه آموزشی گروه اقدام به راه اندازی سایت moomsan.blog.ir نمود تا ضمن ارائه آموزش های مجازی، به ارتقای خدمات گروه بپردازد. در این وبلاگ فعلا خدمات کدنویسی فرترن به مرور بارگذاری می شود. امید است مورد استفاده متخصصین بازدید کننده از سایت قرار گیرد.
آدرس: مشهد، بین سلمان فارسی 5 و 7 پلاک 48
راه های تماس با گروه :

Tel: +98 915 125 2688
Phone: +98 51 38477407

زمان پاسخگویی: 9 تا 13:30 و 16 تا 21
Telegram.me/moomsan
moomsan@gmail.com
ID: @moomsan

بسته به کلاس ذخیره سازی متغیر، می توان آن را به ۵ نوع اصلی تقسیم کرد:

متغیر محلی (local variable)

متغیر تعریف شده در داخل تابع (تعریف شده در داخل بدنه تابع بین براکت ها) متغیر محلی یا متغیر خودکار(automatic ) نامیده می شود.

محدوده دسترسی آن تنها محدود به تابع تعریف شده است. به عبارت ساده، متغیر محلی می تواند تنها در داخل تابع قابل دسترسی باشد.

هنگامی که اجرای تابع تمام می شود، طول عمر متغیر محلی به پایان می رسد (از بین می رود).

مثال ۱ : متغیر محلی

#include <iostream>

using namespace std;

void test();

int main()

{

// local variable to main()

int var = 5;

test();

// illegal: var1 not declared inside main()

var1 = 9;

}

void test()

{

// local variable to test()

int var1;

var1 = 6;

// illegal: var not declared inside test()

cout << var;

}

متغیر var را نمی توان داخل test()و var1 را نمی توان در داخل تابع ()main استفاده کرد.

کلید واژه auto نیز قبل از تعریف متغیرهای محلی استفاده می شود: auto int var؛

اما، بعد از C ++ 11، auto معنی متفاوتی پیدا کرد و نباید برای تعریف متغیرهای محلی استفاده شود.

متغیر سراسری (global variable)

اگر متغیر بیرون از تمام توابع تعریف شود، به آن متغیر سراسری می گوییم.

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

به همین ترتیب، زمانی که برنامه به پایان برسد، طول عمر متغیر هم به پایان می رسد.

مثال ۲ : متغیر سراسری

#include <iostream>

using namespace std;

// Global variable declaration

int c = 12;

void test();

int main()

{

++c;

// Outputs 13

cout << c <<endl;

test();

return 0;

}

void test()

{

++c;

// Outputs 14

cout << c;

}

در برنامه بالا c متغیر سراسری است.

متغیر برای هر دو تابع ()main و ()test در دسترس است.

متغیر محلی ایستا (static local variable)

کلید واژه ی static برای تعریف متغیر ایستا استفاده می شود. برای مثال:

… .. …

int main()

{

static float a;

… .. …

}

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

تفاوت اصلی متغیر محلی و متغیر محلی ایستا این است که مقدار متغیر ایستا تا پایان برنامه از بین نمی رود.

مثال ۳: متغیر محلی ایستا

#include <iostream>

using namespace std;

void test()

{

// var is a static variable

static int var = 0;

++var;

cout << var << endl;

}

int main()

{

test();

test();

return 0;

}

در برنامه بالا، تابع test()، ۲ بار فراخوانی می شود.

در طول اولین فراخوانی، متغیر var به عنوان متغیر ایستا اعلام شده و با ۰ مقدار دهی می شود. سپس ۱ به var اضافه شده که در صفحه نمایش داده می شود.

وقتی تابع ()test پایان یافت، متغیر var هنوز هم وجود دارد، زیرا یک متغیر ایستا است.

در طول فراخوانی دوم، متغیر جدیدی ایجاد نشده است. همان var 1 واحد افزایش می یابد و سپس روی صفحه نمایش داده می شود.

خروجی برنامه فوق اگر var از نوع متغیر ایستا تعریف نشده باشد:

۱

۱

متغیر ثبات(register variable) (حذف شده در C ++ 11)

کلید واژه register برای تعریف متغیرهای ثبات استفاده می شود.

متغیرهای ثبات شبیه به متغیرهای خودکار هستند و فقط در یک تابع خاص وجود دارند و فرض شده که سریع تر از متغیرهای محلی باشند.

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

با این حال، این کلید واژه در C ++ 11 منسوخ شده و نباید مورد استفاده قرار گیرد.

ذخیره سازی محلی thread

ذخیره سازی محلی thread مکانیزمی است که متغیرها را جوری تخصیص می دهد که یک نمونه از متغیر در هر thread موجود باشد.

برای این منظور از کلید واژه ی keyword_local استفاده می شود.

پایان قسمت سی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی