برنامه ریزی رشته ها

در این مقاله، شما یاد خواهید گرفت که رشته ها و عملیات خود را در برنامه نویسی C مدیریت کنید. شما یاد خواهید گرفت که آنها را اعلام کنید، آنها را اولویت بندی کنید و از آنها برای عملیات مختلف I / O استفاده کنید.

جدول محتوا

  • رشته های C
  • چگونه یک رشته را تایپ کنیم؟
  • چگونه می توانیم رشته ها را اولویت بندی کنیم؟
  • خواندن رشتهاز کاربر
    • مثال: scanf () برای خواندن رشته
    • مثال: () و (()
  • انتقال رشته ها به یک تابع
    • مثال: انتقال رشته ها به یک تابع
  • رشته ها و اشاره گرها
    • مثال: رشته ها و اشاره گرها
  • توابع رشته ای معمولا استفاده می شود

در برنامه نویسی C یک رشته یک آرایه از کاراکترهایی است که کاراکتر \0 خاتمه می دهند. مثلا:

 "c رشته"

هنگامی که کامپایلر یک دنباله ای از شخصیت های محصور در علامت نقل قول قرار می گیرد، یک علامت صفر در انتهای آن اضافه می شود.

Memory diagram of strings in C programming


چگونه یک رشته را تایپ کنیم؟

قبل از اینکه بتوانید با رشته ها کار کنید، ابتدا باید آنها را اعلام کنید. از آنجا که رشته آرایه ای از شخصیت ها است. شما رشته ها را همان شیوه ای که با آرایه ها انجام می دهید اعلام می کنید.

اگر شما نمی دانید که چه آرایه ها هستند، ما توصیه می کنیم که آرایه های C را بررسی کنید.

در اینجا نحوه تایپ یک رشته را بیان میکنیم:

 char s [5]؛

string declaration in C programming


چگونه می توانیم رشته ها را اولویت بندی کنیم؟

شما می توانید رشته ها را به روش های مختلف راه اندازی کنید.

 char c [] = "abcd"؛

 char c [50] = "abcd"؛

 char c [] = {'a'، 'b'، 'c'، 'd'، '\ 0'}؛

 char c [5] = {'a'، 'b'، 'c'، 'd'، '\ 0'}؛

Initialization of strings in C programming


خواندن رشته از کاربر

شما می توانید از تابع scanf() برای خواندن یک رشته استفاده کنید.

تابع scanf() دنباله ای از شخصیت ها را تا زمانی که فضای خالی (فضای، خط جدید، زبانه و غیره) روبرو می شود، خوانده می شود.


مثال 1: scanf () برای خواندن یک رشته

#include <stdio.h> int main() { char name[20]; printf("Enter name: "); scanf("%s", name); printf("Your name is %s.", name); return 0; }

خروجی

 نام خانوادگی را وارد کنید: دنیس ریچی 
  نام شما دنیس است

اگرچه دنیس ریچی در برنامه فوق وارد شده بود، تنها ریتی در رشته ی نام ذخیره شد. این به این دلیل است که پس ازRitche فضای وجود دارد.


چگونه یک خط از متن را بخوانیم؟

شما می توانید از تابع gets() برای خواندن یک خط از رشته استفاده کنید. و شما می توانید از puts() برای نمایش رشته استفاده کنید.


مثال 2: می شود () و قرار می دهد ()

#include <stdio.h> int main() { char name[30]; printf("Enter name: "); gets(name); // read string printf("Name: "); puts(name); // display string return 0; }

هنگامی که برنامه را اجرا میکنید، خروجی خواهد بود:

 نام خود را وارد کنید: تام هنکس 
  نام: تام هنکس 

انتقال رشته ها به عملکرد

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


مثال 3: انتقال رشته به یک تابع

#include <stdio.h> void displayString(char str[]); int main() { char str[50]; printf("Enter string: "); gets(str); displayString(str); // Passing string to a function. return 0; } void displayString(char str[]) { printf("String Output: "); puts(str); } #include <stdio.h> void displayString(char str[]); int main() { char str[50]; printf("Enter string: "); gets(str); displayString(str); // Passing string to a function. return 0; } void displayString(char str[]) { printf("String Output: "); puts(str); }

رشته ها و اشاره گرها

نامهای رشته مانند آرایه ها “به” اشاره گرها “تخریب می شوند”. از این رو، شما می توانید اشاره گر را با همان نام رشته ای برای دستکاری عناصر رشته استفاده کنید. قبل از اینکه این مثال را چک کنید، توصیه کردیم که C Arrays و Pointers را بررسی کنید:


مثال 4: رشته ها و اشاره گرها

#include <stdio.h> int main(void) { char name[] = "Harry Potter"; printf("%c", *name); // Output: H printf("%c", *(name+1)); // Output: a printf("%c", *(name+7)); // Output: o char *namePtr; namePtr = name; printf("%c", *namePtr); // Output: H printf("%c", *(namePtr+1)); // Output: a printf("%c", *(namePtr+7)); // Output: o }

توابع استریو معمول استفاده می شود