MENU ▽ بیلگی
آذربایجان تورکجه‌سینده بیلگی‌لر

  • آنا صفحه‌سی
  • فلسفه
  • کامپیوتر
  • بیزه گؤره
  • ایشاره‌چی‌لر ایله دوٚزن‌لری مودیریت ائتمک

    ایشاره‌چی اوچون لاپ باجاریقلی و ایشجیل قونو، دوٚزن‌لر اوچون ایش یاپماق‌دیر. بوتون دوزن‌لر، ایشاره‌چی اوچون یالنیز قولای بیر شودالاما (تندنویسی) تکین ساییلیرلار.

    بونو ثابیت ائتمک اوچون، C دیلینده معمول بیر دوٚزنی دریندن آراشدیراجاییق و آیری پروقراملاما دیل‌لرین یالنیز یوخودا گؤره بیله‌جکلری ایشاره‌چی‌نین دوٚزنی ایداره ائتمک گوٚج و یوموشاقلیغی‌نی گؤستره‌جه‌ییک.

    ایندی بونو اینانماسانیز دا، گله‌جکده موطلق تانیش اولوب و سئوه‌جکسینیز.

    ایندیلیک آشاغیداکی پروقرامی نظرده آلین:

    #include <stdio.h>
    int main()
    {
    int array[] = { 11, 13, 17, 19 };
    int x;
    for(x=0;x<4;x++)
    {
    printf("Element %d: %d\n",x+1,array[x]);
    }
    return(0);
    }

    اوٚستده‌کی کود'دا ساده‌جه بیر ماتریس یارانیب و for حلقه‌سی ایله چاپ اولوبدور.

    ایندی بو ایشی ایشاره‌چی‌یه تاپشیراجاییق.

    قاباقکی پروقرام، سونرا ایشاره‌چی ایله بیر داها یازیلیب‌دیر.

    دیقت‌له ایزله‌یین!

    #include <stdio.h>
    int main()
    {
    int array[] = { 11, 13, 17, 19 };
    int x;
    int *aptr;
    aptr = array;
    /*no & needed for an array */
    for(x=0;x<4;x++)
    {
    printf("Element %d: %d\n",x+1,*aptr);
    aptr++;
    }
    return(0);
    }

    بو دا قاباقکی کود تکین‌دیر. ایکیسینین ده بوراخیش‌لاری اوخشاردیر.

    ۴-جو سطرده بیر دوٚزن تعریف اولوبدور. سونرا اینتیجر x و سونرا دا aptr تکین بیر ایشاره‌چی.

    ۷-جی سطرده ایشاره‌چی اوچون دوٚزن ایختیصاص وئریلیب‌دیر و & ده یازیلماییب.

    اونوتماسانیز بونو دئمیشدیک کی ایشاره‌چی اوچون بیر دوٚزن، ساده‌جه قولای شودالاما تکین‌دیر.

    داها دوغروسو، دوٚزن اوچون آد، ائله حافیظه یئری‌دیر.

    سونرا for حلقه‌سی ایله ایشاره‌چی چاپ اولور.

    ۱۲-جی سطرده ایسه، بیر یول چاپ‌دان سونرا، بیر سایی aptr ایشاره‌چی‌یی آرتیریر. اما هاردان بیر ساییدا آرتیرماغی تاپدیق؟

    بو موتغیر بیر اینتیجر اولاراق، ۱ واحید اونو آرتیرماق، دقیقا اینتیجر اوچون تانینان اندازه‌دیر.

    بو اندازه بورادا ۴ اولاجاق.

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

    printf دستورالعملی ده بوراخیشدا آدرس‌لری گؤرونمک اوچون دگیشیلیب‌دیر.

    printf("Adress is %p and Element %d: %d\n",aptr,x+1,*aptr);
    Output Terminal
    Adress is 0x7ffdfc77f340 and Element 1: 11
    Adress is 0x7ffdfc77f344 and Element 2: 13
    Adress is 0x7ffdfc77f348 and Element 3: 17
    Adress is 0x7ffdfc77f34c and Element 4: 19
    
    Process returned 0 (0x0)   execution time : 0.003 s
    Press ENTER to continue.

    آشاغیداکی کودا باخین:

    #include <stdio.h>
    int main()
    {
    int array[] = { 11, 13, 17, 19 };
    int x;
    int *aptr;
    aptr = array;
    /*no & needed for an array */
    for(x=0;x<4;x++)
    {
    *aptr = 0;
    printf("Element %d: %d\n",x+1,array[x]);
    aptr=aptr+1;
    }
    return(0);
    }

    بوٚتون زادلار قاباقکی تکین‌دیر، آنجاق ۱۱-جی سطر‌ده، ایشاره‌چی اوچون ایختیصاص تاپان میقدار، صیفر فرض ائدیبدیر.

    اونوتماسانیز بونو قاباقجا دئمیشدیک، اولدوز ایله بیرلشمیش دورومدا (وضعیت‌ده) ایشاره‌چی اوچون میقدارا ایشاره اولور و اولدوز یازیلماسا، آدرس اوچون ایشاره اولور.

    سونرا چاپ و سونرا نوبتی آدرس اوچون، ایشاره‌چی بیر آتدیم آرتیریر.

    بئله‌لیک‌له بوتون آدرس‌لر اوچون صیفر میقدار ایختیصاص وئریلیر.

    یعنی دوٚزنین بوتون عوضولاری صیفر اولورلار.

    آشاغیداکی کودا باخین:

    #include <stdio.h>
    int main()
    {
    int array[] = { 11, 13, 17, 19 };
    int x;
    int *aptr;
    aptr = array;
    aptr = aptr + 2;
    *aptr = 0;
    for(x=0;x<4;x++)
    {
    printf("Element %d: %d\n",x+1,array[x]);
    }
    return(0);
    }

    ۸-جی سطرده، ایلک ایشاره‌چی‌دن ۲ سایی آتلامیشیق. سونرا حاضیر ایشاره‌چی‌یی صیفر توتموشوق.

    بئله‌لیک‌له ۳-جو ایشاره‌چی، صیفر میقدارلانیب‌دیر. یعنی ماتریس‌ده‌کی ۳-جو عونصور اوچون میقداری صیفر ائدمیشیک. آشاغیدا for حلقه‌سی وار و array چاپ اولور.

    ایندی کامپایل ائدین و نتیجه‌یه باخین.

    Output Terminal
    Element 1: 11
    Element 2: 13
    Element 3: 0
    Element 4: 19
    
    Process returned 0 (0x0)   execution time : 0.004 s
    Press ENTER to continue.

    بورادا array یئرینه ایشاره‌چی ایستیفاده ائتمک اوچون، ایشاره‌چی‌نین یئری‌نی ایلک آتدیما آپارمالیی اولاجاییق.

    آشاغیداکی پروقرام‌دا بونو گؤسترمک اوچون چالیشاراق، نئچه سطری دگیشمیشیک.

    بونو دا اونوتمایین، آدرسی دوٚز وئرمه‌سنیز، ایشاره‌چی آیری آدرس‌دن میقدار اوخویاجاق.

    بیراز قورخونج گؤرون‌سه ده، ایشاره‌چیلرین لاپ اؤنملی یاپدیغی ایشلردن بیری ده ائله بودور.

    یعنی پروقرام باشقا آدرسی اوخویوب و بو آدرس‌لره ألی چاتا بیلیر.

    بو دا چوخ اؤنملی بیر باجاریق‌دیر و C پروگراملاما دیلی‌نین لاپ مشهور و تانینمیش اؤزل‌لیگی‌دیر.

    #include <stdio.h>
    int main()
    {
    int array[] = { 11, 13, 17, 19 };
    int x;
    int *aptr;
    aptr = array;
    aptr = aptr + 2;
    *aptr = 0;
    aptr = aptr - 2;
    for(x=0;x<4;x++)
    {
    printf("Element %d: %d\n",x+1,*aptr);
    aptr++;
    }
    return(0);
    }

    پروقرامی کامپایل ائده‌رک چالیشدیرین و بوراخیشا باخین.

    Output Terminal
    Element 1: 11
    Element 2: 13
    Element 3: 0
    Element 4: 19
    
    Process returned 0 (0x0)   execution time : 0.031 s
    Press any key to continue.

    ۸-جی سطرین یئرینه، ‎*(aptr + 2) = 0;‎ ده یازا بیلرسینیز.

    اجازه وئرین بیر داها وورغولایاق (تاکید ائتمک):

    ‎*(aptr + 2) = 0;‎ یازمالیسینیز، ‎(*aptr + 2) = 0;‎ یوخ.

    نوکته: دیقّت ائدین، اولدوز سیمگه‌سی، موطلق موطلق موطلق پارانتزین ائشیگینده اولمالی‌دیر.

    عیلّت ده آیدین‌دیر، بوتون پارانتزین ایچریسی، آدرس ساییلیر.

    ثانیه و متری جمع ائده بیلمدیگینیز تکین، آدرس و میقداری دا جمع ائده بیلمه‌سینیز. ایشاره‌چی‌نین یئری دگیشمه‌دیگی اوچون، داها یئری‌نی قایتارماغا دا مجبور دگیل‌سینیز.

    آشاغیداکی پروقرام‌دا بونو گؤره بیلرسینیز:

    #include <stdio.h>
    int main()
    {
    int array[] = { 11, 13, 17, 19 };
    int x;
    int *aptr;
    aptr = array;
    *(aptr + 2) = 0;
    for(x=0;x<4;x++)
    {
    printf("Element %d: %d\n",x+1,*aptr);
    aptr++;
    }
    return(0);
    }

    ایسترینگ اوچون ده ایشاره‌چیلری قوللانماق اولار. اصلینده، ایشاره‌چی‌نین گئنه ده لاپ پارلاق باجاریقلاریندان بیری بودور.

    آشاغیداکی کودا باخین:

    #include <stdio.h>
    int main()
    {
    char *string = "I'm just a normal string.";
    puts(string);
    return(0);
    }

    بوراخیش ایسه بئله گؤرونه‌جک:

    Output Terminal
    I'm just a normal string.
    
    Process returned 0 (0x0)   execution time : 0.004 s
    Press ENTER to continue.

    گؤردویونوز تکین، ۴-جو سطرده چوخ راحات string تکین بیر ایشاره‌چی تعریف ائده‌رک، اونون اوچون میقدار دا ایختیصاص وئرمیشیک.

    بو ایشاره‌چی یارانین‌جا، عین اوْنون آدیندا بیر دوٚزن ده تعریف اولور، آنجاق گؤرونمور. ایندی آشاغیداکی پروقراما باخین:

    #include <stdio.h>
    int main()
    {
    char *string = "I'm just a normal string.\n";
    int x = 0;
    while(string[x])
    {
    putchar(string[x]);
    x++;
    }
    return(0);
    }

    بوتون زادلار قاباقکی تکین‌دیر، آنجاق سونراسی بیر حلقه تشکیل اولاراق، بیر-بیر ایشاره‌چی ایله بیر آدی اولان ماتریسین عضولری چاپ اولوبدور.

    بو پروقرام یاخشی چالیشسا دا، بوجور کود یازماق اوچون بو بحث‌لر مطرح اولماییب. بیزیم ایسته‌دیگیمیز، یالنیز ایشاره‌چی ایله بو پروقرامی چالیشدیرماقدیر، دوٚزن و x اولمادان بونو یاپماق ایسته‌ییریک. آشاغیداکی پروقراما باخین:

    #include <stdio.h>
    int main()
    {
    char *string = "I'm just a normal string.\n";
    char *ptr;
    int x;
    ptr = string;
    while(string[x])
    {
    putchar(string[x]);
    x++;
    }
    return(0);
    }

    string آدی ایله ایشاره‌چی تعریف اولاندان سونرا، ptr تکین آیری بیر ایشاره‌چی یارادیریق.

    سونرا ptr اوچون، string ایشاره‌چی‌نین آدرس‌لرینی ایختیصاص وئریریک. قالانی دا قاباقکی تکین‌دیر.

    آشاغیداکی پروقرام‌دا، بونون قالانین چالیشاجاییق:

    #include <stdio.h>
    int main()
    {
    char *string = "I'm just a normal string.\n";
    char *ptr;
    int x;
    ptr = string;
    while(*ptr)
    {
    putchar(*ptr);
    ptr++;
    }
    return(0);
    }

    گؤردویونوز تکین، while حلقه‌سینده داها x ده یوخدور، string ماتریسی ده یوخدور.

    بوراخیش دا ائله ثابیت قالاجاق. بو پروقرامی، ptr تکین بیر ایشاره‌چی‌یی تعریف ائتمه‌دن ده یازماق اولار. آنجاق موتغیر دگیشین‌جه، اونون حافیظه‌ده توتذوغو یئر ده دگیشیله بیلر.

    بو ساده پروقرام‌دا نسه بیر یانلیش‌لیق گؤرونمه‌سه ده، سیخینتی یارادان اولا بیلر و پروقرامین ایشاره ائتدیگی یئر و موتناظیر میقدارلارینی ایتیره بیلر و آشاغیداکی کود'دا، بو ایشتباه یول ایله پروقراملامایی گؤره بیلرسینیز:

    #include <stdio.h>
    int main()
    {
    char *string = "I'm just a normal string.\n";
    while(*string)
    {
    putchar(*string);
    string++;
    }
    return(0);
    }