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





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









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









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





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

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2014/08/28
    210
    4

    تفاوت بين typedef و define

    با عرض سلام و خسته نباشيد
    دوستان تفاوت بين typedef و define رو ميشه توضيح بدين
    با تشکر
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  2. #2
    2008/03/11
    8par<->Tehran
    165
    6

    پاسخ : تفاوت بين typedef و define

    معمولا به جاي هم به کار ميرن اما
    در ديفاين شما دارين معادل سازي ميکنين ،يعني مثلا ميگين پورت B رو معادل با پورت lcdقرار بده
    کد:
    #define PORTB LCD_PORT
    بعدا شما ميتونين هرجا که با پورت b کار داشتين به جاش از عبارت دوم يا LCD_PORT استفاده کنين ، فرض کنيد داريد يه کتابخونه قابل حمل براي ال سي ديتون مينويسيد و ميخوايد به راحتي بتونين ازش تو پروژه هاي مختلف و ميکرو هاي مختلف استفاده کنين و يا اونو به اشتراک بزارين
    حالا فقط يه بار اول برنامه پورت ال سي ديتون رو برابر پورت دلخواه تعريف ميکنين و بعد تو بدنه برنامه هر جا که با پورت واسطي که قراره با ال سي دي ارتباط داشته باشه کار داشتين LCD_PORT رو قرار ميدين ،سود اين کار اينه وقتي بخواين تو يه ميکرو يا پروژه ي ديگه پورت ال سي دي رو عوض کنين نياز نيست تک تک خط ها رو دنبال پورت مزبور بگردين و همون اول برنامه تو ديفايت تغييرش ميدين
    -------
    تايپ دف هم در واقع يه نوع داده جديد تعريف ميکنه ، مثلا شما يادت نيس متغير نوع کاراکتري يا اينتجر چند بايته و ... مينويسي
    کد:
    typedef char 1byte;
    کد:
    typedef int 2byte;
    و همچنين ديفاين بر خلاف تايپ دف يک دستور پيش پردازندست
    توضيحات بيشتر :
    http://stackoverflow.com/questions/1666353/are-typedef-and-define-the-same-in-c
    http://programmers.stackexchange.com/questions/130679/typedefs-and-defines
    زندگي آن چه که زيسته ايم نيست ، بلکه آن چيزي است که از گذشته به خاطر داريم ...گابريل گارسيا مارکز
  3. #3
    2014/08/28
    210
    4

    پاسخ : تفاوت بين typedef و define

    نقل قول نوشته اصلی توسط محمود حسيني پور
    معمولا به جاي هم به کار ميرن اما
    در ديفاين شما دارين معادل سازي ميکنين ،يعني مثلا ميگين پورت B رو معادل با پورت lcdقرار بده
    کد:
    #define PORTB LCD_PORT
    بعدا شما ميتونين هرجا که با پورت b کار داشتين به جاش از عبارت دوم يا LCD_PORT استفاده کنين ، فرض کنيد داريد يه کتابخونه قابل حمل براي ال سي ديتون مينويسيد و ميخوايد به راحتي بتونين ازش تو پروژه هاي مختلف و ميکرو هاي مختلف استفاده کنين و يا اونو به اشتراک بزارين
    حالا فقط يه بار اول برنامه پورت ال سي ديتون رو برابر پورت دلخواه تعريف ميکنين و بعد تو بدنه برنامه هر جا که با پورت واسطي که قراره با ال سي دي ارتباط داشته باشه کار داشتين LCD_PORT رو قرار ميدين ،سود اين کار اينه وقتي بخواين تو يه ميکرو يا پروژه ي ديگه پورت ال سي دي رو عوض کنين نياز نيست تک تک خط ها رو دنبال پورت مزبور بگردين و همون اول برنامه تو ديفايت تغييرش ميدين
    -------
    تايپ دف هم در واقع يه نوع داده جديد تعريف ميکنه ، مثلا شما يادت نيس متغير نوع کاراکتري يا اينتجر چند بايته و ... مينويسي
    کد:
    typedef char 1byte;
    کد:
    typedef int 2byte;
    و همچنين ديفاين بر خلاف تايپ دف يک دستور پيش پردازندست
    توضيحات بيشتر :
    http://stackoverflow.com/questions/1666353/are-typedef-and-define-the-same-in-c
    http://programmers.stackexchange.com/questions/130679/typedefs-and-defines
    با تشکر از توضيحات شما دوست عزيز ولي باز درست متوجه موضوع نشدم که تفاوتشون چيه . همونطور که گفتين اينا هميشه جاي هم ديگه مورد استفاده قرار مي گيرن .
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  4. #4
    2013/08/28
    539
    12

    پاسخ : تفاوت بين typedef و define

    با سلام
    define در عمل هيچ کار خاصي انجام نميده، ميشه اينطور بهش نگاه کرد که با اين دستور ميشه قيافه دستورات و متغير ها رو اون طور که ما مي خواهيم، عوض کرد. دقت کنيد که define همراه علامت # مي ياد، که يعني قبل از پردازش مورد توجه قرار ميگيره، پس کار define ميشه اين:
    ***کامپايلر قبل کامپايل مياد و هرچي که define کرديم رو تو کد پيدا مي کنه و چيزي که ما به define داديم رو جاش مي ذاره.
    کد:
    #define my_int int;
    در بالا هر چي my_int پيدا کنه جاش ميذاره int و بعد کامپايل ميکنه
    ************************************************** ************************************************** *******************
    اما typedef ابزاري است که با اون برنامه نويس نوع خاصي از متغير رو عوض مي کنه
    کد:
    typedef int my_int;
    تا اينجا که يکي هستند، بله اما تفاوت ها
    جداي صورت نوشتن ظاهري define دستور پيش پردازشي است و در کل کد به صورت global اجرا ميشه، اما typedef از قوانين ديگر متغير ها تبعيت ميکنه، يعني اينکه typdef با اسم يکسان در دو تابع مجزا مي تونن به متغير هايي مختلف اشاره کنن.
    تفاوت ديگه در تعريف پوينتر هست،به کد زير دقت کنيد
    کد:
    typedef int *my_int1;
    #define my_int2 int *
    The healthy human mind doesn&#039;t wake up in the morning thinking this is his last day on earth.
نمایش نتایج: از 1 به 4 از 4

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

  1. err define Atmel Studio
    توسط avr1083 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2015/09/03, 11:09
  2. فرق #byte و #define
    توسط amanver در انجمن میکروکنترلرهای PIC
    پاسخ: 10
    آخرين نوشته: 2015/06/17, 21:56
  3. #ifndef و define و endif در سی ++
    توسط hosseinam در انجمن C , C++ , C#
    پاسخ: 1
    آخرين نوشته: 2014/08/28, 11:19
  4. #define
    توسط adc در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2011/10/14, 12:52
  5. define# یعنی چی؟
    توسط Dr.j در انجمن C , C++ , C#
    پاسخ: 2
    آخرين نوشته: 2009/05/03, 21:03

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

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

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

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

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