ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2011/07/11
    371
    1

    اعلان روال در C

    سلام
    حتما فرق روال با تابع رو میدونید تابع یدونه خروجی داره و روال چندتا
    در پاسکال میشه هم روال و هم تابع رو تعریف کرد
    اما من در سی تا بحال تعریف روال رو ندیدم!
    کسی از دوستان تعریف روال در C بلده ؟

    *یادگیری علم زمانی مشکل است که قبل از یادگیری آن را پیچیده تصور کنیم.
    *چرا فکر میکنیم مباحث مهم و پیشرفته و سطح بالا باید پیچیده باشند.
  2. #2
    2009/10/21
    تهران
    2,503
    207

    پاسخ : اعلان روال در C

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

    int myfunc(int* m)
    {
    *m=5;
    return 3;
    }

    عدد 3 بعنوان خروجی اصلی تابع در مقدار برگشتی تابع با return قرار میگیره و عدد 5 هم بعنوان یه خروجی دیگه در متغیری که آدرسش رو در m قرار دادیم قرار میگیره
  3. #3
    2011/07/11
    371
    1

    پاسخ : اعلان روال در C

    نقل قول نوشته اصلی توسط mojalan
    C فقط تابع داره که همون کار روال رو میکنه. اگه شما بخوای تابع چند تا خروجی داشته باشه باید از اشاره گرها یا متغیرهای ارجاعی استفاده کنید. مثلا وقتی میخواید تابع دو تا خروجی داشته باشه یکیش که همون مقدار برگشتی تابع هست دومیش رو میتونید از قبل براش تعریف متغیر کنید و آدرس اون رو به تابع پاس کنید

    int myfunc(int* m)
    {
    *m=5;
    return 3;
    }

    عدد 3 بعنوان خروجی اصلی تابع در مقدار برگشتی تابع با return قرار میگیره و عدد 5 هم بعنوان یه خروجی دیگه در متغیری که آدرسش رو در m قرار دادیم قرار میگیره
    بله متوجه ام
    راستش یه کتاب دارم به اسم "مرجع کامل پردازش تصویر در سی" و کدهای کاربردی پردازش تصویر در کتاب هست
    اما در کدها صحبت از روال شده و یکی از اون روال ها رو در پایین گذاشتم
    اگه در c روال نباشه پس کد زیر باید یه تابع باشه که بطور خاصی اعلان شده!

    کد:
    /*******************************************
    
    *
    
    * read_image_array(...
    
    *
    
    * This routine reads the image data from
    
    * either a tiff or bmp image.
    
    *
    
    ********************************************/
    
     
    
    read_image_array(file_name, array)
    
    char *file_name;
    
    short **array;
    
    {
    
    int ok = 0;
    
     
    
    if(is_a_tiff(file_name)){
    
    read_tiff_image(file_name, array);
    
    ok = 1;
    
    }
    
    
    if(is_a_bmp(file_name)){
    
    read_bmp_image(file_name, array);
    
    ok = 1;
    
    }
    
     
    
    if(ok == 0){
    
    printf("\nERROR could not read file %s",
    
    file_name);
    
    exit(1);
    
    }
    
     
    
    } /* ends read_image_array */

    کد رو در برنامه Notpad بگذارید تا درست شه
    *یادگیری علم زمانی مشکل است که قبل از یادگیری آن را پیچیده تصور کنیم.
    *چرا فکر میکنیم مباحث مهم و پیشرفته و سطح بالا باید پیچیده باشند.
  4. #4
    2009/10/21
    تهران
    2,503
    207

    پاسخ : اعلان روال در C

    کلمات function, routine, procedure همه اینها در زبانهای مختلف عملا یه معنی میدن یعنی یه قسمت جدا از برنامه که کار خاصی رو انجام میدن. این تابعی یا روتینی هم که شما نوشتین در واقع آدرس فایل رو مثل یه رشته و همچنین آدرس آدرس (pointer to pointer) یه آرایه رو میگیره و از فایل میخونه و مقادیر پیکسلها رو داخل اون مینویسه. اولین آرگومان ورودی و دومین آرگومان بعنوان خروجی استفاده شده.
    موقع تعریف یا اعلان تابع هم میتونید اینطور بنویسید :

    read_image_array(char *file_name, short **array)
  5. #5
    2011/07/11
    371
    1

    پاسخ : اعلان روال در C

    نقل قول نوشته اصلی توسط mojalan
    موقع تعریف یا اعلان تابع هم میتونید اینطور بنویسید :

    read_image_array(char *file_name, short **array)
    پس من یه جمع بندی میکنم:

    تابع یا روال در سی میتونه بدون نوع برگشتی تعریف بشه حتی کلمه کلیدی void میتونه نباشه
    و نوع پارامترها که معمولا در داخل لیست پارامترای تابع میاد میتونه بعد از لیست پارامترا و قبل از آکولاد مشخص بشه(مطابق شکل)


    *یادگیری علم زمانی مشکل است که قبل از یادگیری آن را پیچیده تصور کنیم.
    *چرا فکر میکنیم مباحث مهم و پیشرفته و سطح بالا باید پیچیده باشند.
  6. #6
    2009/10/21
    تهران
    2,503
    207

    پاسخ : اعلان روال در C

    عذر میخوام وقتی تابع مقدار برگشتی نداره باید از کلمه void استفاده بشه
  7. #7
    2011/08/02
    414
    0

    پاسخ : اعلان روال در C

    اگر نوع تابع تعریف نشه به صورت دیفالت از نوع integer خواهد بود .
نمایش نتایج: از 1 به 7 از 7

موضوعات مشابه

  1. مشکل در ایجاد لبه در زیر روال وقفه
    توسط rad.farzan در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2015/04/22, 21:05
  2. مشکلی در زیر روال وقفه....
    توسط h.torabi در انجمن میکروکنترلرهای AVR
    پاسخ: 32
    آخرين نوشته: 2015/04/11, 22:53
  3. راهنمایی در مورد نوشتن یک زیر روال
    توسط minefield در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2014/12/21, 10:25
  4. نحوه ترسیم سیستم برق اضطراری و اعلان حریق
    توسط miladeng98 در انجمن تاسيسات الكتريكي
    پاسخ: 10
    آخرين نوشته: 2014/08/17, 13:50
  5. پاسخ: 1
    آخرين نوشته: 2010/06/09, 02:15

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •