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

  • آنا صفحه‌سی
  • فلسفه
  • کامپیوتر
  • بیزه گؤره
  • ؜۱۲-جی فصل: C پروقراملاما دیلی‌نین ایستراکچرلری (یاپیلار)

    C پروقراملاما دیلینده‌کی آیری موتغیر، ایستراکچردیر.

    ایستراکچرین دوغرودان نه اولدوغو، موجود موتغیرلرین واحید شکیلده بیرلشمیشلریسی‌دیر. ایستراکچر موتغیرین، ساده‌جه دیتابیس‌ده‌کی رکوردلار تکین چوخلو بؤلوملری وار و نئجه بیر ایستراکچری یاراتماق، تنظیم و ایچینده‌کی بؤلوملره أل تاپماغی توضیح وئره‌جه‌ییک. نئجه بیر ایستراکچر ایچینه ایطیلاعات دولدورماغی و حتی بیر ایستراکچری باشقا بیر ایستراکچرین ایچریسینه یئرلشدیرمگین ماراقلی آیدییاسینی (idea) دا صؤحبت ائده‌جه‌ییک. آشاغیداکی میثال کامل بیر کود اولماسا دا، نئجه C دیلینده ایستراکچرین یارانماسینی گؤستریر.

    #include <stdio.h>
    int main()
    {
    struct record {
    int account;
    float balance;
    };
    //some codes wil be placed here!
    return(0);
    }

    گؤردویونوز تکین، struct آچار-سؤزونون دالیسی‌جا ایستراکچرین آدی (record) یازیلیب.

    ایستراکچرین عوضولاری دا ایکی آکولاد آراسیندا یازیلیبلار و آکولاد باغلاناندان سونرا دا سمی-کلون ایله تعریف ائتمه‌سینی قورتارمیشیق. ایستراکچرلنمیش تعریف ایله صیرفا ایستراکچر اوچون نوع یارانیر، بئله‌لیک‌له یئنی بیر موتغیر تکین ایستراکچری ایستیفاده ائتمک اوچون، اونون نه نوعدان اولدوغو موتغیرلری تعیین ائتمه‌لیسینیز. سونرا ۸-جی سطردی دگیشه‌جه‌ییک:

    #include <stdio.h>
    int main()
    {
    struct record {
    int account;
    float balance;
    };
    struct record my_bank;
    return(0);
    }

    ایندی record نوع‌لو ایستراکچر اوچون، my_bank تکین یئنی بیر موتغیر اعلام ائتمیشیک.

    نوکته: موضوعون داها آیدین گؤرونمگی اوچون، دگیشمه‌لری آتدیم-آتدیم مطرح ائدیریک.

    ایستراکچرین عوضولاری اوچون أل تاپماغا، عضو و موتغیرین آدینا رفرنس وئرمه‌لیسینیز.

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

    ایستراکچر اوچون موتغیرین آدی اؤنجه گلیر و سونرا نوقطه و دالیسی‌جا دا عضو آدی گلیر.

    اونلارین دا ایختیصاص وئریلدیک‌لری میقدارلار، نه نوعدان اولدوقلاری ایله بیر اولمالی‌دیرلار.

    یعنی ‎12 صحیح عددی، اینتیجر و صحیح بیر نوع اوچون ایختیصاص وئریلمه‌لی‌دیر.

    آشاغیداکی پروقرام‌دا بونو داها آیدین باشا دوٚشه‌جکسینیز:

    #include <stdio.h>
    int main()
    {
    struct record {
    int account;
    float balance;
    };
    struct record my_bank;
    my_bank.account = 123456;
    my_bank.balance = 6543.21;
    return(0);
    }

    ۹-جو سطرده‌کی دستورالعمله باخسانیز، اینتیجر بیر میقدار، my_bank آدیندا موتغیره ایختیصاص وئریلیب و بو ایختیصاص ایسه، ایستراکچرده‌کی account عضو اوچون رفرنس وئریلیب.

    بو دئدیگیمیز آدلاری، ایستراکچرین اؤز آدی (record) ایله سهو سالمایین.

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

    ایندی سونراکی میثالا باخین:

    #include <stdio.h>
    int main()
    {
    struct record {
    int account;
    float balance;
    };
    struct record my_bank;
    struct record your_bank;
    my_bank.account = 123456;
    my_bank.balance = 6543.21;
    printf("In account %d I have %.2f\n",
    my_bank.account,my_bank.balance);
    return(0);
    }
    Output Terminal
    In account 123456 I have 6543.21
    
    Process returned 0 (0x0)   execution time : 0.016 s
    Press any key to continue.

    ایندی your_bank موتغیری میقدارلاندیرماق اوچون بو پروقرامی بیراز دگیشیریک و سونرا گلنکی بحثی مطرح ائدیریک.

    #include <stdio.h>
    int main()
    {
    struct record {
    int account;
    float balance;
    };
    struct record my_bank;
    struct record your_bank;
    my_bank.account = 123456;
    my_bank.balance = 6543.21;
    your_bank.account = 31;
    your_bank.balance = 7631975.43;
    printf("In account %d I have %.2f\n",
    my_bank.account,my_bank.balance);
    printf("In account %d I have %.2f\n",
    your_bank.account,your_bank.balance);
    return(0);
    }

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

    Output Terminal
    In account 123456 I have 6543.21
    In account 31 I have 7631975.50
    
    Process returned 0 (0x0)   execution time : 0.094 s
    Press any key to continue.

    ایستراکچرین ایچینه ایطیلاعات دا وئره بیلرسینیز.

    آشاغیداکی کودا باخسانیز، ائله بونو ایمتیحان ائتمیشیک.

    #include <stdio.h>
    int main()
    {
    struct person {
    char name[32];
    int age;
    };
    struct person shaer = {
    "Emadoddin Nasimi",
    51
    };
    printf("%s was %d years old\n",shaer.name,shaer.age);
    return(0);
    }

    ۴-جو سطرده person آدیندا بیر ایستراکچر جورلنیب و آردیجا دا name[32]‎ و age موتغیرلری تعریف اولوبدور.

    ۸-جی سطرده shaer تکین موتغیر بو ایستراکچر اوچون تعریف اولوبدور و موتناظیر مؤلفیه‌لری اوچون ده میقدارلاری اؤنجه ‎"Emadoddin Nasimi"‎ ایسترینگی و سونرا دا ‎51 اینتیجر عدد ایختیصاص وئریلیب‌دیر.

    البته بورادا یئیین انساب تکین بیر ایش اولوبدور و قاباقکی پروقرام ایله بیراز فرقلی‌دیر.

    ۱۲-جی سطرده‌کی printf فانکشنی ایله موتناظیر موتغیرلر اوچون تعیین اولان میقدارلار چاپ اولوب‌لار.

    نوکته: struct آچار-سؤز'دن سونراکی کلمه، ایستراکچرین نوع آدی‌دیر و سونراکی آدلار ایله فرقلی‌دیر.

    قاباقکی پروقرامی داها آیدین ائتمک اوچون، اونو بیر داها یازمیشیق.

    #include <stdio.h>
    int main()
    {
    struct person {
    char name[32];
    int age;
    };
    struct person shaer;
    shaer.name = "Emadoddin Nasimi";
    shaer.age = 51;
    printf("%s was %d years old\n",shaer.name,shaer.age);
    return(0);
    }

    کامپایل ائدرکن، ایراد گؤره‌جکسینیز. ایسترینگ‌لر دوٚزن ساییلیرلار، موتغیر یوخ. بونا گؤره ده موتغیر اولمادیغینا گؤره، اونو موتغیر اوچون ایختیصاص وئره بیلمه‌سینیز.

    آشاغیدا آیری یول ایله بو چتین‌لیگی آرادان قالدیراجاییق.

    #include <stdio.h>
    #include <string.h>
    int main()
    {
    struct person {
    char name[32];
    int age;
    };
    struct person shaer;
    strcpy(shaer.name,"Emadoddin Nasimi");
    shaer.age = 51;
    printf("%s was %d years old\n",shaer.name,shaer.age);
    return(0);
    }

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

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

    #include <stdio.h>
    #include <string.h>
    int main()
    {
    struct date {
    int year;
    int month;
    int day;
    };
    struct person {
    char name[32];
    struct date birthday;
    };
    struct person friend;
    strcpy(friend.name,"Anita Mann");
    friend.birthday.year = 1975;
    friend.birthday.month = 6;
    friend.birthday.day = 1;
    printf("My friend %s was born on %d/%d/%d\n",
    friend.name,
    friend.birthday.month,
    friend.birthday.day,
    friend.birthday.year);
    return(0);
    }

    ۵-جی سطرده date آدی ایله ایستراکچر تعریف اولوب کی year و month و day تکین اینتیجر موتغیرلری وار. سونرا ۱۰-جو سطرده person آدیندا یئنی ایستراکچر تعریف اولوبدور کی name تکین کاراکتر دوٚزنی (ایسترینگ) و birthday تکین بیر موتغیری وار کی date ایستراکچرینه رفرنس وئریلیب‌دیر. ۱۴-جو سطرده person آدی ایله ایستراکچری اوچون friend متغییری تعیین اولاراق، دالیسی‌جا ۴ ساییدا دستورالعمل ایله میقدار ایختیصاص وئریلیب‌دیر.

    ۱۵-جی سطرده‌کی ایسترینگ فانکشنه باخمایاراق، قالانکی دستورالعمل‌لرده موتغیر اوچون میقدار وئرمک مقصدیله، رفرنس‌لردن سونرا نوقطه یازیلیب‌دیر.

    ۱۶-جی سطر‌ده یازیلان friend.birthday.year = 1975;‎ دستورالعملی، اؤنجه friend ایله باشلاییر، سونرا نوقطه و اونون birthday رفرنسی و سونرا گئنه ده نوقطه و year یازیلیب.

    گؤردویونوز تکین ایستراکچرلرین موتغیرلری، سوْن موتغیردن اؤن موتغیره دوغرو ترتیب ایله رفرنس وئریلیبلر. ۱۹-جو سطر ده اوزون اولماسینا گؤره، ۴ سطر یئر توتوب‌دور و حتی IDE موحیطینده ده سطرلری آییرسانیز دا بیر ایراد یارانماز.

    البته پروقرامچی‌لارین چوخلاری ایچ-ایچه ایستراکچرلری یاپیشیقلی یازارلار.

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

    #include <stdio.h>
    #include <string.h>
    int main()
    {
    struct date {
    int year;
    int month;
    int day;
    };
    struct person {
    char name[32];
    struct date birthday;
    } friend;
    strcpy(friend.name,"Anita Mann");
    friend.birthday.year = 1975;
    friend.birthday.month = 6;
    friend.birthday.day = 1;
    printf("My friend %s was born on %d/%d/%d\n",
    friend.name,
    friend.birthday.month,
    friend.birthday.day,
    friend.birthday.year);
    return(0);
    }

    قاباقکی ایستراکچر اوچون سمی-کلون یئرینه friend موتغیری اوتوروب.

    Output Terminal
    My friend Anita Mann was born on 6/1/1975
    
    Process returned 0 (0x0)   execution time : 0.003 s
    Press ENTER to continue.