انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: abedzadeh در 22 آبان 1395، 05:15 بظ
-
سلام دوستان
در زبان سی ، تفاوت عبارت های زیر توی چیه ؟
int x; x = 1;
int * const x1 = &x;
int *const x2 = &x;
int const *x3 = &x;
int const * x4 = &x;
const * int x7 = &x; //Error
const *int x8 = &x; //Error
const int *x9 = &x;
const int * x10 = &x;
const int const *x13 = &x;
const int const * x14 = &x;
const int *const x15 = &x;
const int * const x16 = &x;
const *int const x17 = &x; //Error
شبیه به هم هستند ولی متوجه تفاوتشون نمیشم
سوال دیگه ای هم دارم ، بعضی از قسمت ها اررور کامپایل میدن که توی کامنت مشخص شدن، چرا اررور میدن ؟
پیشاپیش ممنون
-
سوال دیگه ای هم دارم ، بعضی از قسمت ها اررور کامپایل میدن که توی کامنت مشخص شدن، چرا اررور میدن ؟
* باید بعد از int بیاد. int *
یعنی یه اشاره گری که به جایی اشاره میکنه که توش مقدارint هست ولی
const *
معنی نداره
-
int * const x1 = &x;
یک اشارهگر const به یک int
int const *x3 = &x;
اشاره گری به یک int که const است
const int *x9 = &x;
همون int const* هست
const int const *x13 = &x;
یک اشاره گر const (تغییر ناپذیر) به یک const int (تغییر ناپذیر)
و ...