تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: سوال در مورد آرایه ی دوبعدی

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Nov 2017
    پست ها
    8

    پيش فرض سوال در مورد آرایه ی دوبعدی

    همونطور ک نام ارایه در ارایه ی یک بعدی اشاره گر به اولین عنصر ارایه هست در ارایه ی دوبعدی ]x[1 اشاره گری به سطر دوم ارایه است؟اگه اره پس چرا در کد زیر از عملگر&استفاده کرده؟
    [char name[15][12]
    [scanf("%s",&name[1
    لطفا راهنمایی کنین ممنونم

  2. #2
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    امیدوارم تا آلان جواب سوالتان را گرفته باشید.
    قالب s% که در رشته scanf قرار دارد، یک اشاره گر به آدرس محل ذخیره سازی نیاز دارد. محل ذخیره سازی طبق نوشته شما می بایست در سطر دوم آرایه ی name باشد،
    اگر & را همین آلان هم نگذارید مشکلی نیست و برنامه کاملا صحیح است.
    اما اگر نباشد معمولا کامپایلر ها یک warning می دهند که آرایه داده شده ساختار string را ندارد. (در واقع کد در آنالیز استاتیک insecure دیده می شود) برای رفع مشکل یک & می تواند ساختار بعد دوم آرایه را ارایه کند (چون براکت دوم ارائه نشده است & برای رفع warning نیاز می شود)
    خود این کار نیز (گذاشتن &) نیز warning دوم را می سازد، آن هم تبدیل یک آرایه (بعد دوم) به اشاره گر است لذا در صحیح ترین حالت می بایست اینگونه نوشته شود:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و در ساده ترین حالت :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در هر حالت از نظر syntax و اجرا هر 3 صحیح هستند.

    موفق باشید.

  3. این کاربر از Msba بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •