اطلاعیه

Collapse
No announcement yet.

به دست آوردن سایز آرایه در keil

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

    به دست آوردن سایز آرایه در keil

    سلام
    دستور sizeof برای به دست آوردن اندازه یه ارایه درست کار نمی کنه و همیشه مقدار تعداد بایت های نوع تغییر را به خروجی می دهد مثلا اگر آرایه 200 عضو باشه و از نوع char تعریف شده باشه خروجی تابع sizeof مقدار 4 هست.
    تابع خاصی تو keil برای این کار نیست؟
    جدیدترین ویرایش توسط Ehsantech; ۱۷:۲۵ ۱۳۹۵/۰۶/۲۱.
    حسرت PCB

    #2
    پاسخ : به دست آوردن سایز آرایه در keil

    داره درست کار میکنه. اول ببین جواب های این سوال استک کمکت میکنه:

    How do I determine the size of my array in C? That is, the number of elements the array can hold?

    دیدگاه


      #3
      پاسخ : به دست آوردن سایز آرایه در keil

      سلام
      ممنونم این سایت رو قبلا چک کرده بوده ، خود keil هم وقت استفاده از تابع sizeof برای آرایه داره به وضوح می گه که درست کار نمی کنهwarning می ده
      warning:sizeof on an array functio parameter will return size of 'char *' instead of 'char[]'
      حسرت PCB

      دیدگاه


        #4
        پاسخ : به دست آوردن سایز آرایه در keil

        نوشته اصلی توسط Ehsantech نمایش پست ها
        ممنونم این سایت رو قبلا چک کرده بوده ، خود keil هم وقت استفاده از تابع sizeof برای آرایه داره به وضوح می گه که درست کار نمی کنهwarning می ده
        الان مگه شما چطوری دارید عمل میکنید؟(کدتون برای این قسمت)

        دیدگاه


          #5
          پاسخ : به دست آوردن سایز آرایه در keil

          نوشته اصلی توسط Ehsantech نمایش پست ها
          سلام
          ممنونم این سایت رو قبلا چک کرده بوده ، خود keil هم وقت استفاده از تابع sizeof برای آرایه داره به وضوح می گه که درست کار نمی کنهwarning می ده
          سلام
          در صورتیکه آرایه رو به عنوان پارامتر ورودی با استفاده از پوینتر به تابعی بدهید و داخل تابع از sizeof استفاده کنید فقط اندازه ی اشاره گر رو که ۴ بایت است بر می گردونه.
          برای اینکه مطمئن بشید در Keil درست کار میکنه. بلافاصله بعد از تعریف ارایه، اندازه ی اون رو با sizeof بگیرید و نمایش بدید.

          دیدگاه

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