تبلیغات
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی - متغیر های محلی ، سراسری و کلاس حافظه
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی
دانلود رایگان سورس پروژه
سایت برنامه نویسی تک کدر takcoder.ir


آموزش برنامه نویسی با استفاده از نوین ترین روش و ارائه پروژه های نمونه و مجموعه عظیم سورس کدهای آماده برای شما دوستان

مدیر سایت : Yahya Taherzadeh
نویسندگان
نظرسنجی
زبان برنامه نویسی مورد علاقه شما؟






متغیرهای محلی (local) :

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

متغیرهای سراسری (global):

این متغیرها را می توان خارج از توابع مثلاً ابتدای برنامه قبل از تعریف تابع Main یا قبل از تعریف هر تابع دیگر معرفی کرد. متغیرهایی که خارج از توابع معرفی شوند، توسط کلیه توابعی که از آن به بعد تعریف شده اند، قابل استفاده اند.

پس از هر فراخوانی همین که اجرای تابع خاتمه یافت، متغیرهای محلی آن از بین می روند.ولی متغیرهای سراسری تا پایان اجرای تابع main فعال و قابل استفاده اند.
حوزه دسترسی به متغیر:

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

کلاس های حافظه دارای چهار نوع اتوماتیک، ثبات، خارجی، ایستا هستند که به ترتیب توسط کلمات auto ،، register ، extern و static مشخص می شوند.
کلاس های حافظه :

کلاس حافظه اتوماتیک

متغیرهای دارای این کلاس خصوصیات زیر را دارند:

فقط در همان بلوکی که معرفی شده اند قابل دسترسی هستند.

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

چنانچه هنگام معرفی به آن ها مقدار اولیه داده نشده باشد، دارای مقدار معینی نیست.

کلاس حافظه ثبات

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

خصوصیات متغیر دارای کلاس حافظه ثبات:

فقط در همان بلوکی که معرفی شده است قابل دسترسی است.

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

چنانچه هنگام معرفی به آن مقدار اولیه داده نشده باشد، دارای مقدار معینی نیست.


کلاس حافظه خارجی

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

خصوصیات متغیر دارای این کلاس:

در کلیه توابعی که بعد از معرفی آن قرار دارند، قابل دسترسی هستند.

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

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

کلاس حافظه ایستا

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

خصوصیات این کلاس حافظه:

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

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

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




نوع مطلب : سی| سی پلاس پلاس، آموزش، 
برچسب ها : متغیر، محلی، حافظه، سراسری کلاس، تعریف متغییر در سی پلاس، آموزش تعریف، دانلود رایگان برنامه های رایگان،
لینک های مرتبط :
Yahya Taherzadeh
شنبه 23 آذر 1392
شنبه 1 اردیبهشت 1397 02:51 ق.ظ
I'm excited to discover his page. I wanted to thank yoou
for obes time foor this fantastic read!! I definitely appreciate everry part oof iit annd i aleo have you bookmarked tto seee neww information in your weeb site.
سه شنبه 17 مرداد 1396 01:28 ق.ظ
Hmm is anyone else having problems with the pictures on this blog loading?

I'm trying to find out if its a problem on my end or if it's
the blog. Any feed-back would be greatly appreciated.
دوشنبه 16 مرداد 1396 12:40 ب.ظ
I quite like reading through a post that will make men and women think.
Also, many thanks for permitting me to comment!
یکشنبه 15 مرداد 1396 09:41 ب.ظ
Hey, I think your blog might be having browser compatibility issues.

When I look at your website in Opera, it looks fine but when opening
in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads
up! Other then that, superb blog!
جمعه 13 مرداد 1396 09:27 ب.ظ
Hello, after reading this amazing paragraph
i am also happy to share my experience here with colleagues.
جمعه 13 مرداد 1396 02:42 ب.ظ
Magnificent web site. Plenty of helpful information here. I'm sending it to some
buddies ans also sharing in delicious. And certainly,
thank you for your effort!
شنبه 7 مرداد 1396 09:54 ق.ظ
whoah this blog is fantastic i love studying your posts.
Stay up the good work! You already know, many individuals are looking round for this information, you
can help them greatly.
جمعه 6 مرداد 1396 05:35 ب.ظ
I am really impressed along with your writing talents and also with the layout on your blog.
Is that this a paid theme or did you customize it yourself?
Anyway stay up the nice high quality writing, it's rare
to peer a nice weblog like this one nowadays..
یکشنبه 25 تیر 1396 01:29 ق.ظ
Have you ever considered about adding a little bit more than just your articles?
I mean, what you say is important and all. Nevertheless think of if
you added some great pictures or video clips to give your posts more, "pop"!
Your content is excellent but with images and videos,
this website could certainly be one of the greatest in its field.
Very good blog!
سه شنبه 13 تیر 1396 12:28 ق.ظ
Whats up very nice website!! Guy .. Excellent .. Superb
.. I'll bookmark your website and take the feeds additionally?
I am happy to seek out numerous useful information right here within the publish, we'd like develop more strategies in this regard, thank you for sharing.
. . . . .
دوشنبه 12 تیر 1396 06:54 ق.ظ
Thanks for finally writing about >دانلود سورس پروژه های مختلف برنامه نویسی،
آموزش برنامه نویسی - متغیر های محلی ، سراسری و کلاس حافظه
<Liked it!
چهارشنبه 31 خرداد 1396 02:59 ب.ظ
First of all I would like to say wonderful blog! I had a quick question that I'd like to ask if you don't mind.
I was interested to find out how you center yourself and clear your mind before writing.

I've had a difficult time clearing my mind in getting my ideas out there.
I do take pleasure in writing but it just seems like the first 10 to 15 minutes are wasted simply just trying to figure out how
to begin. Any recommendations or tips? Appreciate it!
جمعه 12 خرداد 1396 04:11 ب.ظ
Woah! I'm really enjoying the template/theme of this site.
It's simple, yet effective. A lot of times it's tough to get that "perfect balance" between usability and visual appearance.
I must say that you've done a excellent job with this.
Also, the blog loads extremely quick for me on Firefox.
Outstanding Blog!
دوشنبه 1 خرداد 1396 07:06 ب.ظ
Heya i'm for the primary time here. I found this board and I in finding It really useful & it helped me out much.
I hope to offer something back and help others such as you aided me.
یکشنبه 31 اردیبهشت 1396 10:22 ب.ظ
Hello, Neat post. There's a problem along with your web site in web explorer, might test this?
IE nonetheless is the marketplace leader and a huge portion of folks
will omit your great writing due to this problem.
یکشنبه 31 اردیبهشت 1396 09:57 ق.ظ
Hi there mates, its enormous piece of writing concerning
educationand fully explained, keep it up all the time.
جمعه 29 اردیبهشت 1396 04:19 ق.ظ
Hi there, just became aware of your blog through Google, and found that it is really informative.
I'm gonna watch out for brussels. I'll be grateful if you continue this in future.

Numerous people will be benefited from your writing. Cheers!
چهارشنبه 13 اردیبهشت 1396 06:17 ق.ظ
Unquestionably believe that which you said.
Your favorite reason seemed to be on the net the simplest thing to
be aware of. I say to you, I definitely get annoyed while
people think about worries that they just don't know
about. You managed to hit the nail upon the top and defined out the whole thing
without having side-effects , people could take a
signal. Will probably be back to get more.
Thanks
جمعه 25 فروردین 1396 07:46 ب.ظ
This page certainly has all the info I wanted about this
subject and didn't know who to ask.
یکشنبه 20 فروردین 1396 10:21 ق.ظ
I've learn a few good stuff here. Definitely worth bookmarking for
revisiting. I wonder how a lot attempt you put to create the sort of
fantastic informative website.
دوشنبه 14 فروردین 1396 07:41 ب.ظ
I really love your site.. Great colors & theme.
Did you make this amazing site yourself? Please reply back
as I'm attempting to create my very own blog and would like to
know where you got this from or what the theme is named.
Thank you!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر




صفحات جانبی
آمار وبلاگ
تاییدیه پرداخت
تبلیغات
به سایت تک کدر خوش آمدید