رشته ها
رشته ها معمولا" نوعي داده هستند كه در زبانهاي برنامه سازي به اشكال متفاوتي
مورد استفاده قرار گرفته و براي ذخيره كردن و دستكاري متن ها ، ( مثل كلمات
اسامي افراد ، جملات و غيره ) به كار مي روند . اما در زبان C رشته ها نوعي داده
نيستند بلكه به صورت آرايه اي از كاراكترها ( از نوع char ) هستند كه به NULL
( رشته تهي ) كه داراي ارزش عددي صفر است ختم ميشوند. براي نمايش NULL از ' '
استفاده مي شود . بنابراين طول رشته ها را كه بصورت آرايه تعريف مي شوند ، بايد
به اندازه يك واحد بيش از مقدار لازم در نظر بگيريم . مثلا" اگر بخواهيم رشته اي
را كه طولاني ترين اسم آن داراي 30 حرف باشد ، براي ذخيره كردن اسامي افراد
تعريف كنيم بايد آرايه اي به طول 31 را در نظر بگيريم . كامپايلر زبان C كاراكتر NULL
را به انتهاي رشته ها اضافه مي كند و نيازي نيست كه برنامه نويس آن را در
انتهاي رشته ها قرار دهد .
مثال 1: main)(
{
char fname[21] ;
printf("enter your name: " );
scanf("%d"/fname );
printf("nyour name is : %s"/fname);
}
نمونه اي از خروجي برنامه مثال 1 : enter your name : ali
your name is : ali
رشته Ali در متغير fname بصورت زير قرار مي گيرد :
ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ | a | l | i | | | | | | | | | | | | | | | |
ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
نكته اي كه در مورد مثال 1 بايد روشن شود اين است كه تاكنون براي خواندن
مقادير متغيرها از ورودي توسط تابع ()scanf ، اسم متغير را با & ذكر مي كرديم .
اما دليلي كه در اين مثال براي خواندن محتويات رشته fnameاز &ز استفاده نشده
اين است كه fname نام يك آرايه است و نام آرايه بعنوان يك آدرس به اولين عنصر