با سلام به همه دوستان عزیز
مخواستم بدونم چطور میشه قسمتی از یک رشته که داخل یک آرایه هست رو به داخل یک آرایه دیگر انتقال داد ؟
مثلا :چطور میشه فقط b=0# # رو به داخل آرایه y انتقال داد ؟کد:int x [] = #b=0##x=1#; int y [];
ممنون میشم کمکم کنید .
با سلام به همه دوستان عزیز
مخواستم بدونم چطور میشه قسمتی از یک رشته که داخل یک آرایه هست رو به داخل یک آرایه دیگر انتقال داد ؟
مثلا :چطور میشه فقط b=0# # رو به داخل آرایه y انتقال داد ؟کد:int x [] = #b=0##x=1#; int y [];
ممنون میشم کمکم کنید .
خیلی ساده هستش ، ببینید ما یک متغیر از نوع پوینتر (pointer) به اسم name داریم که رشته ahmad داخلش قرار داره . حالا چرا نوع متغیر رو از نوع پوینتر انتخاب کردیم ؟ چون تمایل داشتیم رشته ما که شامل 5 کاراکتر هستش به ترتیب و بصورت مستقیم در آدرسی از حافظه رم قرار بگیره یعنی ما میتونستیم متغییر رو بصورت [5]name یا []name هم انتخاب کنیم و از پوینتر استفاده نکنیم .
رشته ها مجموعه ای از کاراکترها هستن پس ما میتونیم هر وقت که خواستیم هر کاراکتری رو از داخل رشته بخونیم و شکلش هم بصورت زیر هستش :
فرض کنید ما رشته ای به نام Ahmad رو داخل متغییر name داریم
و میخوایم اولین حرف رشته رو بخونیم . بنابر این به یک متغییر جدید از نوع کاراکتر نیاز داریم که حرف اول رو بخونیم و در اون ذخیره کنیم .کد:char *name = "Ahmad" ;
حالا اگه name1 رو چاپ کنیم به ما کاراکتر A رو برمیگردونه . حال اگه کاراکترهای بیشتری رو بخوایم بخونیم ، باید اونا رو داخل یک آرایه بزاریم و اگه بخوایم بصورت دستی همه رو صدا بزنیم کد ما خیلی شلوغ و خسته کننده میشه . پس در اینجا از یک حلقه کمک میگیریم که به ترتیب کاراکترها رو بخونه و پشت سر هم در آرایه جدید قرار بده .کد:char name1 = name[0];