فرق *char با []char a چیه ؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

فرق *char با []char a چیه ؟

+2 امتیاز

این 2 تا کد کاری که می کنن یکسانه ؟

char *a="name";

VA 

char a[]="name";

 

سوال شده دی 26, 1392  بوسیله ی proprogrammer (امتیاز 40)   5 6 9
دوباره تگ گذاری شد بهمن 12, 1392 بوسیله ی BlueBlade

2 پاسخ

+5 امتیاز
 
بهترین پاسخ

مورد دوم آرایه ای از کارکتر ها ایجاد میکنه به طول 5 که در هر خانه از آرایه یکی از کارکتر ها قرار میگیره.

a[0]='n';
a[1]='a';
a[2]='m';
a[3]='e';
a[4]='\0';

در مورد اول محلی در حافظه به صورت فقط خواندنی ایجاد میشه  و در اون حروف شما قرار میگیره و  شما یه پوینتر به اون محل از حافظه ایجاد کردید

پاسخ داده شده دی 26, 1392 بوسیله ی coder (امتیاز 149)   4
انتخاب شد دی 28, 1392 بوسیله ی proprogrammer
+3 امتیاز
char *a="name";

رشته name رو در حافظه فقط خواندنی قرار میده و یک اشاره گر به اول اون میسازه.

بنابراین دیگه نمیشه موقع اجرا تغییرش داد.

char a[]="name";

رشته name رو تو  پشته قرار میده و یک اشاره گر به اون میسازه. بنابراین در زمان اجر میتونین تغییرش بدین.

 

البته اگه اشتباه نکنم smiley

پاسخ داده شده دی 26, 1392 بوسیله ی Bad Programmer (امتیاز 250)   2 3 11
...