วันพุธที่ 9 กรกฎาคม พ.ศ. 2557

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

5.2 ค่าคงที่สตริงและตัวแปรสตริง  (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]  ตามลำดับ  */

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

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