بیر میقداری ساخلاماق اوچون ایشلهنن قابا موتغیر دئییریک. C پروقراملاما دیلیندهکی اینیجر (صحیح)، کاراکتر، اعشاری (float) و آیری میقدارلاری، موتغیر تکین قاب ایچریسینده ساخلایار.
آنجاق فلسفهسل (فلسفی) باخیمدان، دوغرودان دا موتغیر نهدیر؟
موتغیر اوچون مفهوملاری داها دریندن دوشونمکدن یانا، بو فصلده چالیشاجاییق یاردیمچی اولاق. نئجه بیر موتغیری تبیین ائتمک، بؤیوکلوگونو تعیین ائتمک و ذخیره اولدوغو یئری آچیقلایاجاییق.
C پروقراملاما دیلینده، عموما موتغیر تعریف ائتمک اوچون ایکی بالاجا مسئلهیی نظرده آلیردیق. یعنی آد و میقداری.
آشاغیداکی پروقرامدا اینتیجر بیر موتغیری تعریف ائتمیشیک.
#include <stdio.h>
int main()
{
int a;
printf("The value of a is %d\n",a);
return(0);
}
a آدلی بیر اینتیجر موتغیر تعریف اولوبدور. یعنی بو موتغیر اوچون نوع، int'دیر و آدی دا a اولاراق یالنیز میقدارلانماییب. سادهجه میقدار وئریلمهییبدیر. بئله اولسا دا (میقداری اولماسا دا)، بو موتغیری پروقرامین ایچریسینده ایشلده بیلرسینیز.
پروقرامی کامپایل و ایجرا ائتدیگینیز زامان، a اوچون رندوم بیر عدد چاپ اولا بیلر. عیلّتی ده بودور کی چوخلو پروقراملاما دیللرین ترسینه (عکس)، C دیلینده اوتوماتیک اولیه میقدار وئرمه یوخدور.
اصلینده موتغیرین ایطیلاعاتینی ذخیره ائتمک اوچون، پروقرام بیر میقدار حافیظهیه ایختیصاص وئرهجک و بو حافیظه یئرلری اوچون اولیه میقدار وئریلمهدیگی اوچون، پروقرام اونو صیفر ائتمیر.
بو یالنیز حافیظهده بیر یئر اولاراق، اورادا تصادوفا بیر میقدار اولسا، چوخ یئیین اونو آلیب و بوراخیشدا اونو گؤرهجکسینیز. یادینیزدا اولسا، قاباقجا ایسترینگ آرتیرما پروگرامیندا بونونلا اوزلشمیشدیک!
بئلهلیکله یاخشیسی بودور کی موتغیری تعریف ائدندن سونرا، قوللانمادان اؤنجه اونون اوچون اولیه میقدار دا ایختیصاص وئرهسینیز.
قاباقجا یازیلان پروقرامی، آشاغیداکی تکین دوٚزلتمک اولار.
#include <stdio.h>
int main()
{
int a;
a = 65;
printf("The value of a is %d\n",a);
return(0);
}
پروقرامی ذخیره، کامپایل و ایجرا ائدین.
گؤردویونوز تکین بوراخیش ایندی اؤنجهدن بللیدیر و بو بیلدیگینیز زاد، موتغیر اوچون ایختیصاص وئریلن میقداردیر. ایکی آیری زاد دا موتغیر اوچون وار و بونو دا C دیلینین اؤزل اوپراتورلاری ایله أله گتیرمک اولار. بیرینجیسی sizeof اوپراتوریدیر. sizeof آچار-سؤز اولاراق، بیر اوپراتور ساییلیر و نئچه بایت بیر بللی موتغیر اوچون ایستیفاده اولدوغونو بیلدیریر.
آشاغیداکی پروقرامی کامپایل ائدیب و چالیشدیرین.
#include <stdio.h>
int main()
{
int a;
printf("An int variable occupies %lu bytes of
storage\n",sizeof(a));
return(0);
}
Output Terminal
An int variable occupies 4 bytes of storage
Process returned 0 (0x0) execution time : 0.003 s
Press ENTER to continue.
بوراخیش چوخ آز گؤرونسه ده، معمول اولاراق C دیلینین بوتون زامانلاردا گؤردوگو ایشدیر.
۵-جی سطردهکی فانکشنده، placeholder اوچون %lu یازیلیبدیر و بو دا اوزون و علامتی اولمایان اینتیجر عددی تمثیل ائدیر، یعنی long unsigned integed و قاباقجا آچار-سؤزلری تشریح ائدرکن بونلار ایله تانیش اولموشدوز.
بوراخیشا باخسانیز، اولیه میقداری وئریلمهین اینتیجر a موتغیری، یالنیز ۴ بایت حافیظهده یئر توتوب. بو میقدار ایندیکی سیستملره عادی مسئله اولسا دا، ۲۰ ایل اؤنجه ۲ بایت یئر توتوردو.
ایندی ائله قاباقکی پروقرامی، کاراکتر بیر موتغیر اوچون دگیشین. سادهجه ۴-جو سطرده int یئرینه char یازین.
کاراکتر موتغیر اوچون یالنیز 1 بایت یئر توتماسینی گؤرهجکسینیز و البته بو طبیعیدیر.
بو ایشی اعشاری و آیری نوع موتغیرلر اوچون ده تیکرار ائدین و نتیجهیه باخین.
اوزون اینتیجر اوچون (long) بو نتیجه 4 اولاجاق. آنجاق سیستملرین معماریسی یوخسا کامپایلرین نه نوع و نوسخهسینه باخاراق، نتیجه 8 بایت دا اولا بیلر.
ائله اوزون اعشاری اوچون ده سینایین. یعنی double اوچون. نتیجه 8 بایتی گؤسترهجک.
موتغیر اوچون آیری أله گتیره بیلهجگینیز ایطیلاعات، اونون حافیظهده یئریدیر. یعنی لوکیشن.
بو یول ایله اونون دقیق هاردا اولدوغوندان مطلع اولا بیلرسینیز و بونون اوچون (&) اوپراتوری ایستیفاده ائله بیلرسینیز. قاباقکی فصللرده حتما time و scanf فانکشنلر ایله تانیش اولموشسونوز و اونلاری نئجه & ایله ایشلتمیشسینیز، بورادا دا ائله اوجور.
#include <stdio.h>
int main()
{
int a;
char b;
float c;
puts("Memory location:");
printf("A is at %p\n",&a);
printf("B is at %p\n",&b);
printf("C is at %p\n",&c);
return(0);
}
اوٚستدهکی پروقرامدا %p یئر ساخلاییجیسی (placeholder)، حافیظه آدرسی گؤسترمک اوچوندور.
آدرس میقدارلاری موختلیف کامپیوتر و سیستملرده دگیشیک اولار.
چوخ ساده گؤرونسه ده، ایشارهچی مسئلهسینه یئتیشرکن چوخ دا اؤنملی موضوع اولور کی C پروقراملاما دیلینده لاپ قورخونج موضوع ساییلا بیلیر و ائله چوخ ساییدا پروقرامچیلار بوتون ایش عومورلرینده ایشارهچیلردن اوزاق گزیرلر کی البته ده مومکوندور، آنجاق ائله ده هوشلو ایش دئییل.