زبان برنامه نویسی سی/متغیرها: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جزبدون خلاصۀ ویرایش
برچسب‌ها: ویرایشگر دیداری ویرایش همراه ویرایش از وبگاه همراه
بدون خلاصۀ ویرایش
برچسب‌ها: ویرایش همراه ویرایش از وبگاه همراه
خط ۵:
 
گردآورنده:ماجده حمیدی دانشجوی مهندسی پزشکي
 
مطابق با دانش برنامه نویسی یک « متغیر » یک یا چند واحد از خانه های حافظه ( موقت ) است که :
 
1 - دارای یک نام یا همان « '''شناسه''' » است که فقط با همان شناسه و از طریق آن می توان به آن متغیر دسترسی پیدا نمود ( حتی در صورتی که بخواهیم ، غیر مستقیم به محتوای آن توسط اشاره گر دسترسی پیدا کنیم ، باید اشاره گر را به نام یا همان شناسه متغیر اشاره دهیم )
 
2 - دارای محتوایی است که به آن '''مقدار''' یا موجودی آن متغیر می گوئیم
 
3 - در هر جای برنامه می تواینم به صورت دستی مقدار جدیدی به آن بدهیم یا همان مقداری که دارد دستخوش تغییر نمائیم و یا به صورت خودکار ، تغییر آن را واگذار کنیم به یک یا چند تابع ( مقدار آن قابل تغییر است ، مگر آنکه پیش از تعیین نوع داده از کلیدواژه const استفاده نموده باشیم )
 
اما در زبان سی شما موظف به تعیین نوع متغیر نیز می باشید . جهت سهولت در کار با داده ها دو نوع داده '''عددی''' و '''کاراکتری''' وجود دارند که متناسب با نیاز خود از آنها بهره می گیرید . همچنین متغیر های عددی در زبان سی در طیفی قرار می گیرند که با توجه به کوچک یا بزرگ بودن عدد شما ، تعیین باید گردند . ( گرچه امروزه با توجه به وجود حافظه های حجیم این نیاز کم رنگ تر جلوه می نماید ، اما باید یاد بگیرید که همواره به اندازه نیاز خود متغیر را تعریف کنید تا حافظه در همان اندازه اشغال گردد ) شما عموماً باید از متغیر های عددی استفاده نمائید تا بتوانید با رایانه ارتباط برقرار نمائید اما زمانی که صحبت از ارتباط شما با فرد است و میخواهید متنی را بنویسید یا ویرایش کنید و نمایش دهید به راحتی با وجود کاراکتر ها و رشته ها در زبان سی می توانید از اتلاف وقت خود برای تعیین و ایجاد ارتباط بین اعداد و کاراکتر ها جلوی گیری نمائید
 
اگر بخواهیم به زبان ساده تر بیان نمائیم و کمی مبحث داده ها و متغیر ها را تشریح نمائیم باید اینگونه بگوئیم :
 
شما در برنامه نویسی باید متن قابل فهم توسط کامپایلر را بر روی یک فایل متنی بنویسید ، ذخیره کنید و سپس آن را تحویل کامپایلر ( یا مفسر ) بدهید . در این حین شما از قوانین دانش رایانه تبعیت خواهید نمود و دست کم باید تبعیت کنید . در دانش رایانه که بخشی از دانش الکترونیک می باشد ، همان طور که در ابتدای فصل بدان اشاره نمودیم ، باید همواره جریانی ورود یابد و سپس دست خوش پردازش گردیده و در نهایت به خروجی ارسال گردد . طی برنامه نویسی شما باید داده هایی را ایجاد کنید ، داده ها را به یکدیگر یا به داده های سیستم عامل یا سخت افزار مرتبط نمائید و این داده ها را طی یک روال به خروجی برسانید که به آن برنامه می گوئیم . اما شاید بپرسید چرا نام متغیر را روی این داده ها گذارده اند ؟
 
فرض کنید میخواهید یک مرورگر وب را بنویسید . حتماً در مرورگرهای خود دیده اید که عنوان یک صفحه وب بر روی جایگاه عنوان برنامه مرورگر شما نمایش داده می شود ( در گذشته بر روی نوار عنوان پنجره یا همان Title Bar نمایش داده میشد و امروزه در داخل Tab ) این عنوان را شما نمی توانید پیش بینی کنید که چه خواهد بود ! یعنی اگر یک متن ثابت را قرار بدهید ، طبعاً کاربر برنامه شما نمی تواند عنوان صفحه وب را مشاهده نماید و اگر بخواهید در آن تغییری ایجاد کنید از کجا می دانید که باید چه بنویسید ؟ پاسخ اینست که شما نباید از یک متن ثابت استفاده کنید . بلکه باید درون یک رشته به واسطه نشانه های فرمت کردن ، امکان ایجاد متنی را بدهید که به دستور شما ، متن داخل برچسب عنصر title در زبان html ( زبان عمده صفحات وب ) که همان عنوان صفحه وب می باشد را به جای متن رشته قرار دهد و در نهایت آن را به نمایش بگذارد . اگر مثال ساده تری بخواهیم بزنیم که مثال ما خارج از زبان سی نیز می باشد این مثال را در نظر بگیرید :
 
شاید تا به حال به صفحاتی برخورده اید که در بدو ورود شما به واسطه مرورگر یک کادر باز نموده و از شما نام شما و مشخصات شما را می پرسد و هر آنچه که نوشتید را بر روی صفحه وب نمایش می دهد . در واقع تحت زبان javascript که زبان پویا نمودن صفحات وب می باشد ، یک یا چند متغیر را تعریف می نماید ( به تعدادی که از شما اطلاعات بخواهد : نام ، سن ، شهر و ... ) هر کدام را داخل یک متغیر ذخیره می نماید و در نهایت با توجه به دستور درج آن در صفحه نام و مشخصات شما داخل صفحه وبی که مشاهده می نمائید درج خواهد گردید . حال اگر وجود داده متغیر در برنامه نویسی نمی بود ، آنگاه طراح صفحه مجبور می شد تا بنویسد : بازدیده کننده محترم !
 
پس شما باید بدانید که متغیر ها علاوه بر اینکه این قابلیت را دارند که در هر جای برنامه با توجه به دستور مستقیم شما که به صورتی نوشتاری داخل متن منبع شما وجود دارد تغییر کنند ، بلکه این قابلیت چشم گیر و موثر که التزام آن حتمی می باشد را دارند که : با توجه به ارتباطی که شما طی برنامه برای متغیر خود تعریف می نمائید ( که بیشتر از طریق تابع امکان پذیر است که بعدها در این کتاب به مفهوم آن خواهیم پرداخت ) و تعریف پویای آن ، تغییر کنند
 
اما این تغییر تنها در محتوای متغیر که همان مقدار و موجودی آن می باشد امکان پذیر است و تغییر نام آن باید توسط خود شما و در داخل متن منبع انجام پذیرد . تغییر نوع داده نیز امکان پذیر نمی باشد ، مگر به واسطه خود شما که نوع آن را تغییر دهید . شما زمانی که از یک کلیدواژه ایجادد کننده متغیر استفاده می نمائید مجاز و مجبور به تعیین یک نام برای ایجاد متغیر می باشید . سپس مختارید در همان جا یا در ادامه برنامه به آن متغیر مقدار اولیه بدهید ، این مقدار می تواند به دستور برنامه شما تغییر کند ، اما دقت کنید که کامپایلر نمی تواند مقدار به آن بدهد و این شما هستید که باید با دادن یک مقدار به متغییر پیش از استفاده از آن ، تعریفش نمائید .
 
اگر مقداری به یک متغیر ندهید و آن را بدون وجود مقدار در مرتبه اول نوشتن آن داخل متن منبع وارد کنید آن متغیر را '''اعلان''' نموده اید . در ادامه برنامه اگر قصد استفاده از آن متغیر را داشته باشید باید حتماً آن متغیر در بدو کار مقدار و موجودی داشته باشد و اگر نداشته باشد یا کامپایلر خطا خواهد گرفت و یا یک عدد تصادفی در آن قرار خواهد گرفت که برنامه شما را بر هم می زند . به دادن محتوا به متغیر جهت ایجاد آن '''مقدار دهی اولیه''' می گوئیم . پس از مقدار دهی اولیه برای متغیر ، آن متغیر '''تعریف''' شده است و شما مجاز به استفاده از آن خواهید بود .
 
=== کار با متغیر ها ===