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





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









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









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





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

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12
  1. #1
    2008/01/02
    171
    0

    متغير محلي با کلاس static طول عمر متغير global رو داره؟

    سلام
    آيا متغير محلي که با کلاس static معرفي ميشه، طول عمر متغير global رو داره؟ يعني ram رو تا آخر اشغال ميکنه؟؟
  2. #2
    2009/10/21
    تهران
    2,493
    196

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    با توجه به اينكه بعد از پايان يافتن كار تابع ؛ متغير استاتيك از بين نميره بايد يه جايي ذخيره شده باشه يعني حافظه ميگيره. (فرقشم با متغير عمومي اينه كه فقط در همون تابع قابل استفاده است)
  3. #3
    2008/01/02
    171
    0

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    نقل قول نوشته اصلی توسط mojalan
    با توجه به اينكه بعد از پايان يافتن كار تابع ؛ متغير استاتيك از بين نميره بايد يه جايي ذخيره شده باشه يعني حافظه ميگيره. (فرقشم با متغير عمومي اينه كه فقط در همون تابع قابل استفاده است)
    با اين حساب مثل متغير عموميه فقط با اين فرق که فقط تو همون تابع کاربرد داره
    ميشه بطور قطعي همين باشه؟
  4. #4
    2008/01/02
    171
    0

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    يه سوال مهم تر که خيلي وقته ذهنمو مشغول کرده
    ما اگه تابعي بنويسيم، اون رو در تابع main فراخواني ميکنيم. با هر بار فراخواني مقدار متغيرهاي محلي معمولي در هر تابع، به مقدار اوليش بر ميگيرده. خوب خود تابع main يک تابع است و متغير هايي که توش معرفي ميکنيم محلي هستن. سوال اينجاست که تابع main که جايي فراخواني نميشه و خودش از اول فعال شده، تکليف متغيرهاي درون main چيه؟ مثل متغير عموميه ؟ هيچ وقت که به مقدار اوليه بر نمي گرده، يعني تابع main که پشت سر هم فراخواني نميشه
  5. #5
    2008/01/02
    171
    0

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    يعني کسي جواب اين سوال رو نميدونه؟
  6. #6
    2007/07/21
    http://testogas.ir
    195
    2

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    با سلام
    سوالتون یک کم گنگ هستش.
    اگر بیشتر توضیح بدین یا واضحتر بگین
    http://imenbazar.com
  7. #7
    2011/10/26
    390
    15

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    منظور از متغیر محلی اینه که فقط درتابع تعریف شده شناخته میشود و در توابع دیگر قابل استفاده نیست متغیرهایی که در main تعریف میشوند بایستی در بیرون ناشناخته باشند برای همین محلی هستند
  8. #8
    2008/01/02
    171
    0

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    نقل قول نوشته اصلی توسط mohammad751
    منظور از متغير محلي اينه که فقط درتابع تعريف شده شناخته ميشود و در توابع ديگر قابل استفاده نيست متغيرهايي که در main تعريف ميشوند بايستي در بيرون ناشناخته باشند براي همين محلي هستند
    متغيري که در تابع main بصورت کلاس حافظه اتوماتيک تعريف ميشه(همون تعريف معمولي)، چون تابع main که توسط تابعي فراخواني نميشه و فقط يکبار اجرا ميشه و وارد يک حلقه ميشيم(براي firmware) ، متغيرهايي که در تابع main تعريف ميشن، چه حالتي دارن؟ مقاديرشون تا آخر باقي ميمونه؟
  9. #9
    2011/10/26
    390
    15

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    نقل قول نوشته اصلی توسط مرجان کهندل
    متغيري که در تابع main بصورت کلاس حافظه اتوماتيک تعريف ميشه(همون تعريف معمولي)، چون تابع main که توسط تابعي فراخواني نميشه و فقط يکبار اجرا ميشه و وارد يک حلقه ميشيم(براي firmware) ، متغيرهايي که در تابع main تعريف ميشن، چه حالتي دارن؟ مقاديرشون تا آخر باقي ميمونه؟
    تا زمانیکه داخل main باشیم متغیر باقی خواهد بود پس در اخر main هم باقی خواهد بود البته شرایط خاصی هم هست که ممکنه کسی استفاده نکنه مثلا داخل main در یک جای دلخواه یک اکلاد باز ویک اکلاد بسته ایجاد کنیم وداخلش یک متغیر تعریف کنیم این متغیر تا زمانیکه داخل اکلاد هستیم معتبر خواهد بود وقتیکه بیرون بیاییم از بین خواهد رفت این برای داخل حلقه ها مثل for و غیره نیز صدق میکنه یعنی بلافاصله پس از اکلاد میشه متغیر تعریف کرد که فقط در خود حلقه معتبر خواهد بود.
    متغیرهایی که در ابتدای main تعریف میشوند تا اخر main وجود خواهند داشت ولی وقتی تابعی داخل main فراخوانی بشه تا بازگشت از تابع ، موقتا در دسترس نخواهند بود. در زبان سی main هم یک تابع هست مثل بقیه تابع ها و برای همین قوانین متغیر در main و توابع فرعی مثل هم هستند. اگر بخواهیم یک متغیر در همه توابع شناخته بشه بیرون از main تعریف میکنیم که در این حالت متغیر خارجی نامیده میشه.
  10. #10
    2009/10/25
    تهران
    414
    24

    پاسخ : متغير محلي با کلاس static طول عمر متغير global رو داره؟

    نقل قول نوشته اصلی توسط مرجان کهندل
    متغيري که در تابع main بصورت کلاس حافظه اتوماتيک تعريف ميشه(همون تعريف معمولي)، چون تابع main که توسط تابعي فراخواني نميشه و فقط يکبار اجرا ميشه و وارد يک حلقه ميشيم(براي firmware) ، متغيرهايي که در تابع main تعريف ميشن، چه حالتي دارن؟ مقاديرشون تا آخر باقي ميمونه؟
    اشتباه فکر میکنید. تابع main هم فراخوانی میشه. اما این فراخوانی رو شما هیچ وقت تو خود C نمیبینید. علتش هم اینه که وقتی برنامه تون داره کامپایل میشه یک سری برنامه اسمبلی توسط خود کامپایلر به برنامه اصلی اضافه میشن. اینها مقادیر اولیه متغیرهای استاتیک و ... رو اینیشیال میکنن به علاوه اینکه تابع main هم توسط همین برنامه های اسمبلی فراخوانی میشه.

    اما قسمت دوم سوالتون.
    کلا متغیرها چه استاتیک و چه گلوبال و چه لوکال، همیشه روی رم هستن. فرقی نمیکنه متغیر چه طور تعریف میشه. حتی اگر یک تابعی فقط یک بار فراخوانی بشه و درون خودش یک آرایه داشته باشه این آرایه از اول برنامه تا آخر روی رم هست. حتی وقتی که تابع شما اجرا نمیشه یا اجراش تموم شده.
    اگر میخواید مقادیر هنگام نیاز گرفته بشن و بعد که کارتون باهاشون تموم شد از حافظه پاک شن و دیگه رزیدنت نباشن روی رم باید از Dynamic memory استفاده کنید.
    دستورات new, delete این کار رو میکنن.
    جدای از این ها کتابخونه های دیگری هم هستن که حافظه رو به صورت داینامیک براتون مدیریت میکنن.
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12

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

  1. مشکل براي ايجاد متغير 32 بيتي - مشکل سرريز يک متغير
    توسط amirna3r در انجمن میکروکنترلرهای AVR
    پاسخ: 18
    آخرين نوشته: 2014/12/12, 11:00
  2. تعريف متغير
    توسط nsm در انجمن Labview
    پاسخ: 2
    آخرين نوشته: 2014/11/12, 22:20
  3. خازن هاي متغير
    توسط hossein.ahmadvand در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 5
    آخرين نوشته: 2013/10/24, 15:49
  4. خروجي متغير
    توسط سون سگمنت در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2012/11/09, 23:14
  5. استفاده از متغير؟
    توسط شاهرخ مستقیمی در انجمن میکروکنترلرهای PIC
    پاسخ: 8
    آخرين نوشته: 2009/03/15, 20:38

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

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

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

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

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