رشته ها

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

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

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

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

char c[] = “c string”;

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

Memory diagram of strings in C programming

تعریف رشته

نحوه تعریف رشته به شکل زیر است:

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

تخصیص مقدار به رشته

آرایه ها و رشته ها پس از تعریف، از عملگر انتساب پشتیبانی نمی کنند. مثال،

char c[100];

c = “C programming”; // خطا! نوع آرایه قابل انتساب نیست

نکته: به جای آن برای کپی یک رشته می توانید از تابع ()strcpy استفاده کنید.

دریافت رشته از کاربر

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

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

#include <stdio.h>

int main()

{

char name[20];

printf(“Enter name: “);

scanf(“%s”, name);

printf(“Your name is %s.”, name);

return 0;

}

خروجی

Enter name: Dennis Ritchie

Your name is Dennis.

حتی اگر رشته ورودی Dennis Ritchie در خود برنامه نوشته شود، باز هم فقط “Dennis” در متغیر name ذخیره میشود. چون بعد از Dennis، یک فاصله وجود دارد.

خواندن یک خط متن

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

مثال ۲: ()fgets و ()puts

#include <stdio.h>

int main()

{

char name[30];

printf(“Enter name: “);

fgets(name, sizeof(name), stdin); // حواندن رشته

printf(“Name: “);

puts(name); // نمایش رشته

return 0;

}

خروجی

Enter name: Tom Hanks

Name: Tom Hanks

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

fgets(name, sizeof(name), stdlin); // خواندن رشته

(sizeof(name برابر با ۳۰ می باشد، بنابراین حداکثر ۳۰ کاراکتر از ورودی به اندازه رشته name می خواند.

برای چاپ رشته از (puts(name استفاده شده است.

نکته: تابع ()gets نیز برای گرفتن ورودی از کاربر است اما از استاندارد زبان C حذف شده است. چون ()gets امکان ورود تعداد کاراکتر دلخواه را فراهم می کند، در نتیجه ممکن است بافر سرریز شود.

ارسال رشته به تابع

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

مثال ۳: ارسال رشته به تابع

#include <stdio.h>

void displayString(char str[]);

int main()

{

char str[50];

printf(“Enter string: “);

fgets(str, sizeof(str), stdin);

displayString(str); // ارسال رشته به تابع

return 0;

}

void displayString(char str[])

{

printf(“String Output: “);

puts(str);

}

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

مانند آرایه ها، نام های رشته نیز می توانند به اشاره گرها تبدیل شوند. بنابراین می توانید از اشاره گرها برای دستکاری عناصر رشته نیز استفاده کنید. توصیه می کنیم قبل از بررسی این مثال، آموزش آرایه ها و اشاره گرها در برنامه نویسی C را مرور کنید.

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

#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

}

توابع رشته ای پر کاربرد

  • ()strlen- طول رشته را محاسبه می کند.
  • ()strcpy – یک رشته را در یک رشته دیگر کپی می کند.
  • ()strcmp – دو رشته را با هم مقایسه می کند.
  • ()strcat – دو رشته را به هم متصل می کند.

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

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

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست