با سلام به همه دوستان عزیز
مخواستم بدونم چطور میشه قسمتی از یک رشته که داخل یک آرایه هست رو به داخل یک آرایه دیگر انتقال داد ؟
مثلا :چطور میشه فقط 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];