میخواستم بدونم که معنی عبارت بالا چی میشه؟
لطفا کلمه به کلمه بگید..
ممنون.
میخواستم بدونم که معنی عبارت بالا چی میشه؟
لطفا کلمه به کلمه بگید..
ممنون.
همان طور که می دانید * علامت اشاره گر هست و یه اشاره گر به آدرسی از حافظه اشاره می کنه که توی این
آدرس می تونه هر چیزی(مثلا آرایه ای از جمله ها(رشته سبک سی)) باشه واما
در کد شما وجود دو علامت * نشانه ی وجود دواشاره گر هستش که یکی اشاره گر به char هست و دیگری
اشاره گری به اشاره گر قبلی(اشاره گر به char ) هستش.
واما یک رشته(جمله) در سی و سی پلاس چیزی نیست جز اشاره گری به char .
بنابراین کد شما اشاره گری به یک رشته است. رشته هایی که نمی توانند بیش 9 کاراکتر داشته باشند.
من هیچی نفهمیدم...
در ادامه صحبت آقا مهدی، در اینجا a یک آرایه 9 عنصری هست که هر عضوش مثل
یک اشارگر محسوب میشه، در نتیجه باید برای تک تک این اعضا از عملگر new دوباره استفاده کنید و حافظه از نوع char بگیرینکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثل این مثال که به هر عضو a یک اشارگر از نوع رشته به طول 25 کاراکتر تخصیص داده شده
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by hoax3r; 13-08-2009 at 15:58.
++++++++++++++
Last edited by ara.look; 20-08-2009 at 21:18.
9 تا اشارگر از نوع char
+++++++++++
Last edited by ara.look; 20-08-2009 at 21:16.
اشاره گر یا pointer یعنی قسمتی از حافظه که بجای اینکه در اون اطلاعات قرار داشته باشه آدرسی قرار داره که اون آدرس در واقع آدرس اون قسمت از حافظه هست که اطلاعات واقعی در اونجا قرار داره. در زبان C یک ستاره * کنار متغیر اونرو تبدیل به اشاره گر میکنه. مثلا int a یعنی مغیر a قسمتی از حافظه هست که در اون یک عدد قرار میگیره. اما int *a یعنی a یک متغیر هست که در اون یک آدرس قسمتی از حافظه قرار میگیره که اون آدرس یک آدرس از حافظه هست که در اون عدد قرار داره.
توضیحات بقیه کاملا واضح هست.
ببینید به نظر من دانستن اسم اشاره گر یا از اینجور چیزا چندان مهم نیست.(با مرور زمان اسم رو یاد می گیرید.)
بترین راه این هست که کد نویسی کنید و سعی کنید برنامه طوری باشد که جاهایی که نمی دانید و نمی فهمید رو در خروجی چاپ کند.
برنامه رو می نویسن چیزی نیست که حفظش کنن یا...
موفق باشید.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)