ยินดีต้อนรับเพื่อนๆ เอกคอมพิวเตอร์ศึกษา และผู้ที่เวะเข้ามาชมทุกคนคับ ที่เข้ามาเยี่ยมชมเว็บบร็อกของผม ยินดีต้อนรับเข้าสู้เว็บไซต์http://teenemerux.blogspot.com

วันจันทร์ที่ 13 กุมภาพันธ์ พ.ศ. 2555

ค่าคงที่สตริงและตัวแปรสตริง (string constants and string variables)

ค่าคงที่สตริง คือ ตัวอักขระ (characters) ใด ๆ ที่เขียนอยู่ภายใต้เครื่องหมาย “ “ (double quotation) เช่น “Greeting!” , ”Hello, ” ”SA-WAS-DEE” , “4567” , “123.45” เป็นต้น
ตัวแปรสตริง คือ ตัวแปรชุดที่เก็บค่าคงที่ชนิดสตริง โดยมีชนิดของตัวแปรชุดเป็น char เช่น char name[30]=”KANNIKAR”; หรือ char strnum[10]=”12345”; เป็นต้น
สำหรับการเก็บค่าคงที่ชนิดสตริงไว้ในตัวแปรสตริงภายในหน่วยความจำนั้น จะเก็บเรียงกันไปทีละตัวอักขระ โดยใช้เนื้อที่ 1 byte ต่อการเก็บตัวอักษร 1 ตัว และใน byte สุดท้ายสตริงจะมีการเก็บ \0 (null character) ไว้เพื่อเป็นการบอกให้ compiler รู้ว่าหมดข้อมูลที่เก็บไว้แล้ว

5.2.1 การประกาศตัวแปรสตริง 1 มิติ
เนื่องจากตัวแปรสตริง คือตัวแปรชุดที่มีชนิดเป็น char ดังนั้นจึงสามารถประกาศตัวแปรสตริงได้ดังนี้

char stringname[size];
หรือ
char stringname[size] = “string constant”;


โดยที่

stringname คือ ชื่อตัวแปรสตริง ตั้งขึ้นตามหลักการตั้งชื่อตัวแปร
string constant คือ ค่าคงที่ชนิดสตริง โดยต้องเขียนอยู่ภายใต้เครื่องหมาย “ “ เสมอ
size คือ ขนาดของตัวแปรสตริง ควรกำหนดให้เนื้อที่ทั้งหมดที่ใช้เก็บข้อมูลมีขนาดเกินค่าคงที่สตริงที่ยาวที่สุดไปอย่างน้อย 1 byte ในทางปฏิบัตินิยมกำหนดขนาดให้มาก ๆ ไว้ก่อน ส่วนจะใช้เนื้อที่ครบทั้งหมดหรือไม่ ไม่มีผลอะไรในโปรแกรม

ตัวอย่างการประกาศตัวแปรสตริง 1 มิติ


1) char name[26]; /* ประกาศตัวแปรสตริง name มีขนาด 26 bytes */
2) char name[26], address[41];
/* ประกาศตัวแปรสตริง name มีขนาด 26 bytes และตัวแปรสตริง address มีขนาด 41 bytes ตามลำดับ */
3) char str[9] = “COMPUTER”;
/* ประกาศตัวแปรสตริง str มีขนาด 9 bytes และกำหนดข้อความให้สตริง */

แต่ถ้าเราเขียนคำสั่งเป็น char str[8] = “COMPUTER”; จะเกิด error ขึ้นเพราะความกว้างของตัว แปรสตริงน้อยกว่าคงที่สตริงอยู่ 1 byte ดังนั้นจะต้องกำหนดขนาดให้เกินค่าคงที่สตริงไว้อย่างน้อย 1 byte เสมอ
4) char city[80] = “Bangkok, Thailand”;
/* ประกาศตัวแปรสตริง city มีขนาด 80 bytes และกำหนดข้อความให้สตริง */

5.2.2 การประกาศตัวแปรสตริง 2 มิติ


char stringname[n][m]
หรือ
char stringname[n][m] = {“string constant1”,
“string constant2 “,...,”string constanN };



โดยที่

stringname คือ ชื่อตัวแปรสตริง ตั้งขึ้นตามหลักการตั้งชื่อตัวแปร
n, m คือ จำนวนแถวและจำนวนคอลัมน์ตามลำดับ
string constant1, string constant2,…., string constantN คือ ค่าคงที่ชนิดสตริงตัวที่ 1, 2, …., N ตามลำดับ ซึ่งจะต้องเขียนอยู่ภายใต้เครื่องหมาย “….” เสมอ

ตัวอย่างการประกาศตัวแปรสตริง 2 มิติ

1) char name[3] [20];
/* ตัวแปรสตริง name 2 มิติ มีขนาด 3*20 = 60 bytes*/
2) char name[3] [20] = {“KANNIKAR”,”SURAPORN”,”THAITANA”};
/* ประกาศตัวแปรสตริง name 2 มิติ มีขนาด 3*20 = 60 bytes และกำหนดค่าสตริง KANNIKAR, SURAPORN และ THAITANA ให้กับตัวแปรสตริง name[0], name[1] และ name[2] ตามลำดับ */

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

มุมแซตมันๆ คับผม