PDA

نسخه کامل مشاهده نسخه کامل : char **a=new char*[9];



ara.look
12-08-2009, 00:00
میخواستم بدونم که معنی عبارت بالا چی میشه؟
لطفا کلمه به کلمه بگید..
ممنون.

mahdi7s
12-08-2009, 08:54
همان طور که می دانید * علامت اشاره گر هست و یه اشاره گر به آدرسی از حافظه اشاره می کنه که توی این
آدرس می تونه هر چیزی(مثلا آرایه ای از جمله ها(رشته سبک سی)) باشه واما

در کد شما وجود دو علامت * نشانه ی وجود دواشاره گر هستش که یکی اشاره گر به char هست و دیگری
اشاره گری به اشاره گر قبلی(اشاره گر به char ) هستش.

واما یک رشته(جمله) در سی و سی پلاس چیزی نیست جز اشاره گری به char .

بنابراین کد شما اشاره گری به یک رشته است. رشته هایی که نمی توانند بیش 9 کاراکتر داشته باشند.

ara.look
13-08-2009, 12:56
من هیچی نفهمیدم...

hoax3r
13-08-2009, 14:07
در ادامه صحبت آقا مهدی، در اینجا a یک آرایه 9 عنصری هست که هر عضوش مثل

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یک اشارگر محسوب میشه، در نتیجه باید برای تک تک این اعضا از عملگر new دوباره استفاده کنید و حافظه از نوع char بگیرین
مثل این مثال که به هر عضو a یک اشارگر از نوع رشته به طول 25 کاراکتر تخصیص داده شده

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ara.look
13-08-2009, 14:25
++++++++++++++

hoax3r
13-08-2009, 15:59
معنی عبارت بالا چیه؟

9 تا اشارگر از نوع char

ara.look
13-08-2009, 21:04
+++++++++++

DaneshD
13-08-2009, 22:57
اشاره گر یا pointer یعنی قسمتی از حافظه که بجای اینکه در اون اطلاعات قرار داشته باشه آدرسی قرار داره که اون آدرس در واقع آدرس اون قسمت از حافظه هست که اطلاعات واقعی در اونجا قرار داره. در زبان C یک ستاره * کنار متغیر اونرو تبدیل به اشاره گر میکنه. مثلا int a یعنی مغیر a قسمتی از حافظه هست که در اون یک عدد قرار میگیره. اما int *a یعنی a یک متغیر هست که در اون یک آدرس قسمتی از حافظه قرار میگیره که اون آدرس یک آدرس از حافظه هست که در اون عدد قرار داره.
توضیحات بقیه کاملا واضح هست.

mahdi7s
13-08-2009, 23:19
ببینید به نظر من دانستن اسم اشاره گر یا از اینجور چیزا چندان مهم نیست.(با مرور زمان اسم رو یاد می گیرید.)
بترین راه این هست که کد نویسی کنید و سعی کنید برنامه طوری باشد که جاهایی که نمی دانید و نمی فهمید رو در خروجی چاپ کند.
برنامه رو می نویسن چیزی نیست که حفظش کنن یا...

موفق باشید.