Sunday, January 9, 2011

ตัวแปรชุดของอักขระ String (ตัวแปรชนิดข้อความ)

ในภาษาซีจะไม่มีชนิดข้อมูลที่เป็นข้อความโดยตรง แต่จะเป็นการรวมเอาตัวแปลชนิดอักขระ หรือกลุ่มของข้อมูลที่มีชนิดข้อมูลอักขระมารวมกันเรียกว่า สายอักขระ หรือ ข้อความ
  • ถ้าเราต้องการใช้คำว่า Hello เราจะต้องประกาศตัวแปรที่มีชนิดเป็น char 5 ตัว
char ch1 = 'H', ch2 = 'e', ch3 = 'l', ch4 = 'l', ch5 = '0';

  • แต่ถ้าเป็นข้อความที่ยาวมากๆมันจะไม่ค่อยเหมาะสมเท่าไรที่จะต้องมาประกาศตัวแปรเยอะขนาดนี้ ดังนั้นการจัดเก็บข้อความในภาษาซีจึงเอาหลักหารของตัวแปรชุด (ตัวแปรแถวลำดับ)เข้ามาจัดการทำให้สามารถจัดเก็บข้อมูลชนิดข้อความได้อย่างเหมาะสมที่สุด
  • โดยตัวแปรชนิดข้อความในภาษาซีจะอยู่ในเครื่องหมาย "" Double quote
รูปแบบการประกาศตัวแปรชนิดข้อความ

char var[M];

  • var คือชื่อตัวแปร
  • M คือจำนวนของอักขระที่ใช้เ็ก็บบวกด้วย 1 (การบวกด้วย 1 เพื่อเป็นการใส่ \0 หรือ null character ให้รู้ว่าเป็นที่สิ้นสุดของข้อความนี้แล้ว)

ตัวอย่างการประกาศตัวแปร

char str[15]; //ประกาศตัวแปรข้อความ strมีความ 15 character
char frist[20], last[20]; //ประกาศตัวแปรข้อความ frist และ last มีความยาม 20 char.
รูปแบบการประกาศตัวแปรและกำหนดค่า
  • char var[M] = "??..??";
  • char var[M] = {'?','?','?'...,'?'}
  • char var[] = "??..??";
  • var คือ ชื่อตัวแปร
  • M คือ จำนวนของอักขระที่จะเก็บบวกด้วย 1
  • ? คือลักษณะของอักขระที่กำหนดค่าให้ข้อความมีจำนวนเท่ากับ M-1
ตัวอย่างการประกาศตัวแปร
char subject[12] = "Programming";
char nick[4] = "Com";
char nick_1[4] = {'C','o','m','\o'};
char name[] = "Jirasak";

รูปแบบการอ้างอิงอักขระในตัวแปรข้อความ

variable [N]
  • variable คือ ชื่อตัวแปร
  • N คือลำดับอักขระที่จะอ้างอิงในตัวแปรข้อความ (โดยตำแหน่งอักขระตัวแรกเริ่มจาก 0)
ตัวอย่างการอ้างอิงอักขระในตัวแปลข้อความ
char subject[12] = "Programming";

ตัวอย่างโปรแกรมในการอ้างอิงอักขระในข้อความ
#include <stdio.h>
void main()
{
char subject[12] = "Programming"; //ประกาศตัวแปร subject
printf("%s\n",subject); //แสดงผลข้อความ
printf("%c\n",subject[0]); //แสดงอักขระในข้อความตัวที่ 1 คือ P
printf("%c\n",subject[1]); //แสดงอักขระในข้อความตัวที่ 2 คือ r
printf("%c\n",subject[2]); //แสดงอักขระในข้อความตัวที่ 3 คือ o
printf("%c\n",subject[3]); //แสดงอักขระในข้อความตัวที่ 4 คือ g
printf("%c\n",subject[10]); //แสดงอักขระในข้อความตัวที่ 11 คือ g
}
ผลจากการรันโปรแกรม


No comments:

Featured Post

การแปลภาษาของโปรแกรมภาษาซี

ภาษาซีเป็นภาษาชั้นสูงและเป็นภาษาที่มนุษย์เข้าใจ แต่เครื่องคอมพิวเตอร์เข้าใจเฉพาะภาษาเครื่อง (Machine Language) เท่านั้น ดังนั้นหากต้องการให้...