( تعداد نمایش : 1406 )

رشته ها – آموزش سی قسمت بیست و یکم

رشته ها

رشته ها معمولا” نوعی داده هستند که در زبانهای برنامه سازی به اشکال متفاوتی
مورد استفاده قرار گرفته و برای ذخیره کردن و دستکاری متن ها ، ( مثل کلمات
اسامی افراد ، جملات و غیره ) به کار می روند . اما در زبان C رشته ها نوعی داده
نیستند بلکه به صورت آرایه ای از کاراکترها ( از نوع char ) هستند که به NULL
( رشته تهی ) که دارای ارزش عددی صفر است ختم میشوند. برای نمایش NULL از ‘\۰′
استفاده می شود . بنابراین طول رشته ها را که بصورت آرایه تعریف می شوند ، باید
به اندازه یک واحد بیش از مقدار لازم در نظر بگیریم . مثلا” اگر بخواهیم رشته ای
را که طولانی ترین اسم آن دارای ۳۰ حرف باشد ، برای ذخیره کردن اسامی افراد
تعریف کنیم باید آرایه ای به طول ۳۱ را در نظر بگیریم . کامپایلر زبان C کاراکتر NULL
را به انتهای رشته ها اضافه می کند و نیازی نیست که برنامه نویس آن را در
انتهای رشته ها قرار دهد .

مثال ۱: main)(
{
char fname[21] ;
printf(“enter your name: ” );
scanf(“%d”/fname );
printf(“\nyour name is : %s”/fname);
}

نمونه ای از خروجی برنامه مثال ۱ : enter your name : ali
your name is : ali

رشته Ali در متغیر fname بصورت زیر قرار می گیرد :
ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ | a | l | i |\0 | | | | | | | | | | | | | | |

ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷

نکته ای که در مورد مثال ۱ باید روشن شود این است که تاکنون برای خواندن
مقادیر متغیرها از ورودی توسط تابع ()scanf ، اسم متغیر را با & ذکر می کردیم .
اما دلیلی که در این مثال برای خواندن محتویات رشته fnameاز &ز استفاده نشده
این است که fname نام یک آرایه است و نام آرایه بعنوان یک آدرس به اولین عنصر

دیدگاه خود را بیان کنید.

باید وارد سایت شده باشید برای دیدگاه دادن