اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

خواندن مقادیر آرایه در یک خط

0 امتیاز
91 نمایش

می‌دونیم که می‌شه مقادیر یک آرایه رو با صفر مقداردهی کرد به صورت زیر

int a[10] = {0};

و می‌دونیم که این دستور اشتباهه

int a[2] = {1, 2, 3};

در صورتی که این دستور درسته

int a[4] = {1, 2, 3};

کسی می‌تونه توضیح بده این مقداردهی تابع چه قانونی هست؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده چهارشنبه ۲۱ فروردین ۱۳۹۲ در C++ توسط prodo  
ویرایش شده چهارشنبه ۱۹ تیر ۱۳۹۲ توسط prodo

1 پاسخ

0 امتیاز

مقداردهی اولیه‌ی آرایه با ثابت آرایه‌ای به شکل {1, 2, 3} قابل انجام هست. چند نکته باید مورد توجه قرار بگیره.

۱) در صورتی که بخوایم تعداد اعضای یک آرایه رو در قسمت اعلان مشخص کنیم، یعنی به صورت زیر

int x[10] = {1, 2, 3};

در این صورت، باید این تعداد از تعداد اعضای ثابت آرایه‌ای سمت راست بیشتر باشه.

۲) در صورتی که ثابت آرایه‌ای به صورت {0} مشخص بشه، یعنی همه‌ی اعضای آرایه مقدار صفر داشته باشن

int x[5] = {0}; // int x[5] = {0, 0, 0, 0, 0}; or int x[] = {0, 0, 0, 0, 0};

در کامپایلر مایکروسافت این کد مساوی کد زیر هست

int x[5] = {};

۳) اگر تعداد عضو مشخص شده در سمت چپ از تعداد اعضای ثابت آرایه‌ای در سمت راست بیشتر باشه، مقداردهی بقیه‌ی اعضا به کامپایلر بستگی داره که معمولاً مساوی صفر قرار داده می‌شه

int x[5] = {1, 2, 3}; // int x[5] = {1, 2, 3, 0, 0}; int x[] = {1, 2, 3, 0, 0};

در صورتی که اعلان بدون تعریف در نظر گرفته بشه، مقادیر غیرقابل پیش‌بینی هستند

int x[5];
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۱۹ تیر ۱۳۹۲ توسط prodo