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

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

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

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

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

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