مقدار دادن به متغیر ها

سلام وقت بخیر
وقتی به متغیری مقدار میدیم در عمل چه اتفاقی می‌افته؟
اگه توی یک حلقه دائما یه مقدار ثابت به متغیر بدیم مشکلی پیش میاد؟

    int x = 0;
    while(1)
    {
        if(x >= 5)
        {
            ...;
        }
        x = 0;
    }
    int x = 0;
    while(1)
    {
        if(x >= 5)
        {
            ...;
        }
        if(x != 0) x = 0;
    }

این دو کد تفاوت خاصی در عمل دارن یا نه، مشکلی وجود نداره؟

سلام دوست عزیز
نوشتن مداوم داخل یک متغیر در رم مشکلی پیش نمیاره اگر روی حافظه‌هایی که محدودیت نوشتن دارند (مثل EEPROM) مدام بنویسید امکان سوختن اون خانه حافظه وجود داره اما روی خانه‌های حافظه رم مشکلی پیش نمیاد.

2 پسندیده

سلام
هر پردازنده برا خودش معماری داخلی خاصی داره اما عمدتا یکی هستند، بعنوان مثال در میکروهای ARM اینطوریه که وقتی به متغیری مقدار میدیم اون مقدار تبدیل به مدل باینری یعنی 0 و 1 میشه و خانه های حافظه SRAM رو پر میکنه یعنی پردازنده کاری که شما میکنید رو بدین صورت میفهمه و برا خودش اجرا میکنه:
int X=0 => 0000 0000 0000 0000
int X=5 => 0000 0000 0000 0101
int X=0 => 0000 0000 0000 0000
منظورتون از اینکه اگر دائما یک مقدار ثابت به متغیر بدیم چه مشکلی پیش میاد رو نمیفهمم اگر منظورتون صفر کردن مقدار متغیر در انتهای شرط هست باید عرض کنم “تا وقتی اصول برنامه نویسی و استفاده از فضای SRAM شامل HEAP & STACK رو رعایت کرده باشی مشکلی پیش نمیاد” این مورد که عرض کردم مربوط به برنامه های حجیم و بزرگه، در برنامه های آزمایشی و کوچک و میکروهای با حافظه بالا ندرتا مشکل میخورید مگر اینکه اصول ابتدایی برنامه نویسی مثل حلقه بی نهایت و غیره رو رعایت نکرده باشید.