اطلاعیه

Collapse
No announcement yet.

این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

    این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n
    اصلا منظور از sizeof (a) m چیه؟
    ممنون.
    جوری بگید تا بفهمم. :read:
    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
    (پيش به سوي هدف)

    #2
    پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

    sizeof یه کلمه کلیدی هست مثل for , while , if , switch , ...
    معنیش اینه که اندازه یا بعبارتی تعداد بایتهای یک متغیر یا type رو برمیگردونه.
    مثلا :
    sizeof(int) = 2
    یا
    long r=1876237
    sizeof(r) = 4
    متوجه شدی؟
    حالا تو این عبارتی که نوشتی sizeof(int) میشه 2 و باید ببینی a از چه نوعی هست و در حقیقت چند بایت میشه.
    مثلا با احتساب اینکه a از نوع char باشه حاصل میشه 3 .

    دیدگاه


      #3
      پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

      نوشته اصلی توسط امیر . م
      sizeof یه کلمه کلیدی هست مثل for , while , if , switch , ...
      معنیش اینه که اندازه یا بعبارتی تعداد بایتهای یک متغیر یا type رو برمیگردونه.
      مثلا :
      sizeof(int) = 2
      یا
      long r=1876237
      sizeof(r) = 4
      متوجه شدی؟
      حالا تو این عبارتی که نوشتی sizeof(int) میشه 2 و باید ببینی a از چه نوعی هست و در حقیقت چند بایت میشه.
      مثلا با احتساب اینکه a از نوع char باشه حاصل میشه 3 .
      قشنگ توضیح دادی ممنون فهمیدم.
      به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
      (پيش به سوي هدف)

      دیدگاه


        #4
        پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

        نوشته اصلی توسط hosseinam1370
        قشنگ توضیح دادی ممنون فهمیدم.
        فقط نمیتونم درک کنم که ما چه نیازی داریم که اندازه یه متغییر رو بدست بیاریم/
        اصلا چه نیازی داریم اندازه متغییر ها و کاراکتر ها رو پیدا کنیم؟
        کجاها استفاده میشه؟
        یخورده مفهومی توضیح بدین دوستان تا جا بیوفته.
        ممنون دوستان.
        به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
        (پيش به سوي هدف)

        دیدگاه


          #5
          پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

          یه وقتایی شما میخوای ببینی که مثلا یه متغیر از یه struct یا یه union چقدر از فضای رم رو اشغال میکنه. برای مثال
          کد:
          struct test
          {
          int d;
          char c;
          long r;
          }obj;
          در مثال بالا sizeof(obj) = 7. شما میتونید به جاش بنویسید sizeof(test) که باز هم میشه 7.

          دیدگاه


            #6
            پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

            کاربردهای دیگه ای هم داره
            وقتی بخوای محدوده ذخیره سازی یک نوع داده رو روی کامپایلر و سیستم مورد نطر بدونی میتونی با این دستور مطمئن بشی. مثلا نوع داده long ممکنه رو یه سیستم 4 بایت باشه و رو یکی دیگه 8. یا نوع داده long long. هرچند واسه اینا استاندارد تعریف شده اما حتی int هم ممکنه جایی 16 بیتی باشه...

            یه کاربرد دیگش بدست اوردن اندازه آرایه هاست . که با تقسیم sizeof آرایه به sizeof نوع داده آرایه بدست میاد
            https://www.linkedin.com/in/mohammadhosseini69

            http://zakhar.blog.ir

            دیدگاه


              #7
              پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

              نوشته اصلی توسط hosseinam1370
              فقط نمیتونم درک کنم که ما چه نیازی داریم که اندازه یه متغییر رو بدست بیاریم/
              اصلا چه نیازی داریم اندازه متغییر ها و کاراکتر ها رو پیدا کنیم؟
              کجاها استفاده میشه؟
              یخورده مفهومی توضیح بدین دوستان تا جا بیوفته.
              ممنون دوستان.
              دوستان یک سری کاربردهاش رو گفتن اما مهمترین کاربردش هنگام ساختن هدر برای یک فایل و ذخیره اش روی هارده
              مثلا وقتی میخواید یک struct رو روی هارد بنویسید هم یکی دیگه از کاربردهاشه (بالایی هم البته از همین نوع میتونه باشه یا میتونه نباشه)

              دیدگاه


                #8
                پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n

                نوشته اصلی توسط hamidreza.nayeri
                دوستان یک سری کاربردهاش رو گفتن اما مهمترین کاربردش هنگام ساختن هدر برای یک فایل و ذخیره اش روی هارده
                مثلا وقتی میخواید یک struct رو روی هارد بنویسید هم یکی دیگه از کاربردهاشه (بالایی هم البته از همین نوع میتونه باشه یا میتونه نباشه)
                حالا هدر رو فراموش کنید. فرض کنید یک struct دارید که میخواید بدون این که به تک تک فیلدهاش دسترسی پیدا کنید مستقیم بنویسیدش روی هارد یا از روی هارد بخونیدش. با این دستور میتونید کار کنید.
                یا مثلا در دیتابیس ها، شما برای این که بتونید مکان یک رکورد خاص رو روی هارد دیسکتون پیدا کنید به اندازه ای که روی هارد میگیره (یا روی رم فرق نمیکنه) نیاز دارید. با این دستور میتونید جاش رو راحت پیدا کنید.

                دیدگاه

                لطفا صبر کنید...
                X