رشته ها در زبان C – آموزش زبان C

c strings 4145 رشته ها در زبان C   آموزش زبان C

رشته ها در زبان C

رشته ها در حقیقت یک آرایه تک بعدی از کاراکترها هستند که با کاراکتر ‘\۰’ پایان می پذیرند. بنابراین یک رشته خالی فقط شامل یک کاراکتر ‘\۰’ می باشد. به این کاراکتر، null می گویند. اعلان زیر یک آرایه را که شامل کاراکترهای کلمه “Hello” است، ایجاد می کند. برای این که یک آرایه بتواند کاراکتر null در انتهای خود داشته باشد باید طول آرایه یک واحد بیشتر از طول کاراکترها باشد.

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

دستور بالا را می توان به این صورت هم نوشت:

char greeting[] = "Hello";

شکل زیر نحوه قرار گیری این آرایه در حافظه را نشان می دهد:

c strings 4145 1 رشته ها در زبان C   آموزش زبان C

در حقیقت شما کاراکتر null در انتهای آرایه قرار نمی دهید و کامپایلر زبان C به طور خودکار این کاراکتر را به انتهای آرایه اضافه می کند. مثال زیر آرایه بالا را چاپ می کند:

#include <stdio.h>

int main () {

   char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
   printf("Greeting message: %s\n", greeting );
   return 0;
}

امتحان کنید

زمانی که کد بالا توسط کامپایلر C و اجرا شود، نتیجه زیر را تولید خواهد کرد:

Greeting message: Hello

در زبان برنامه نویسی C، به منظور دستکاری رشته هایی که با کاراکتر null خاتمه می یابند، توابع زیادی وجود دارند که برخی از آن ها را در جدول زیر مشاهده می کنید:

ردیف توضیحات
۱ strcpy(s1, s2)

رشته s2 را در رشته s1 کپی می کند (مشابه عملگر انتساب).

۲ strcat(s1, s2)

رشته s2 را به انتهای رشته s1 می چسباند.

۳ strlen(s1)

طول رشته را بر میگرداند.

۴ strcmp(s1, s2)

دو رشته را با هم مقایسه می کند. اگر هر دو مشابه باشند، مقدار ۰ بر میگرداند، اگر رشته اول (s1) کمتر از رشته دوم (s2) باشد، مقدار منفی بر میگرداند و اگر رشته اول (s1) از رشته دوم (s2) بزرگ تر باشد، مقدار بزرگتر از صفر بر میگرداند.

۵ strchr(s1, ch)

یک اشاره گر به اولین وقوع ch در رشته s1 بر میگرداند.

۶ strstr(s1, s2)

یک اشاره گر به اولین وقوع s2 در رشته s1 بر میگرداند.

برخی از توابع فوق در مثال زیر استفاده شده اند:

#include <stdio.h>
#include <string.h>
int main () {
   char str1[12] = "Hello";
   char str2[12] = "World";
   char str3[12];
   int  len ;
   /* copy str1 into str3 */
   strcpy(str3, str1);
   printf("strcpy( str3, str1) :  %s\n", str3 );
   /* concatenates str1 and str2 */
   strcat( str1, str2);
   printf("strcat( str1, str2):   %s\n", str1 );
   /* total lenghth of str1 after concatenation */
   len = strlen(str1);
   printf("strlen(str1) :  %d\n", len );
   return 0;
}

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

strcpy( str3, str1) :  Hello
strcat( str1, str2):   HelloWorld
strlen(str1) :  10

نوشته رشته ها در زبان C – آموزش زبان C اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.

درباره نویسنده: administrator

ممکن است دوست داشته باشید

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *