สตริงและอะเรย์
ในบทนี้เราจะมาพูดถึงสตริงและอะเรย์กันนะครับ
|
|
 |
|
#include <iostream.h>
int main()
{
char name[7];
char hello[6]="Hello";
name[0]='V';
name[1]='i';
name[2]='k';
name[3]='i';
name[4]='n';
name[5]='g';
name[6]='\0';
cout<<hello<<"\n";
cout<<"My name is "<<name<<"\n";
for(int index=0;index<=6;index++)
cout<<name[index]<<"\n";
return 0;
}
|
|
|
|
 |
[Download Code]
จากตัวอย่างผมได้สร้างตัวแปรอะเรย์ชนิด
char ขึ้นมาครับ โดยวิธีสร้างก็อย่างที่เห็นนะแหละครับใช้ [จำนวนอะเรย์]
โดยถ้าสมมติว่าเรากำหนดจำนวนอะเรย์เป็น 7 เหมือนตัวอย่างเราก็จะได้ตัวแปรตั้งแต่
0-6 รวม 7 ตัวครับ
การให้ค่ากับอะเรย์นั้น ก็เหมือนกับการให้ค่าตัวแปรธรรมดา
เพียงกำหนดว่าเป็นอะเรย์ตัวที่เท่าไหร่ เท่านั้นครับ แต่ถ้าหากเราต้องการกำหนดที่เดียวเลย
ก็ให้ใช้คำสั่งเหมือนที่ให้ค่ากับ hello นะครับ โปรดสังเกตที่เครื่องหมายรอบตัวอักษรจะเป็นคนละแบบกันนะครับ
สุดท้ายคือเราใช้ลูปเพื่อให้พิมพ์ออกมาทีละตัวอักษรครับ
โดยครั้งแรก index เราจะมีค่าเป็น 0 ดังนั้น ก็ให้พิมพ์ name[0] ครับ และก็ยังมีตรงการให้ค่าของ
name[6]=0 นั้น 0 คือตัวที่ให้จบคำนะครับ
การสร้างอะเรย์นั้นเราสามารถให้เป็นข้อมูลชนิดอะไรก็ได้ครับ
เช่น int name[5], float name[10] เป็นต้น
|
|
 |
|
#include <iostream.h>
int main()
{
int value[2][3];
char name[]="Viking";
value[0][0]=10;
value[1][2]=5;
cout<<name<<"\n";
cout<<value[0][0];
return 0;
}
|
|
|
|
 |
[Download Code]
ตัวอย่างนี้เป็นตัวอย่างการใช้อะเรย์ในรูปแบบอื่นนะครับ
อันแรกก็คือการสร้างอะเรย์หลายมิติครับ โดยวิธีการสร้างก็อย่างที่เห็นนะครับ
ในตัวอย่างนี้คือ อะเรย์ 2 มิตินะครับ จะประกอบด้วยอะเรย์ 6 ตัว (2*3) คือ
value[0][0], value[0][1], value[0][2], value[1][0], value[1][1], value[1][2]
ครับ
ส่วนอีกอันหนึ่งก็คือ char name[]
อันนี้เราไม่ได้กำหนดจำนวนอะเรย์แต่เราให้ค่าคือ viking แล้วคอมไพเลอร์ก็จะไปกำหนดค่าให้เองโดยอัตโนมัติครับ
|
|
 |
|
#include <iostream.h>
#include <string.h>
int main()
{
char name[20];
char one[10];
strcpy(name,"Viking");
cout<<name<<"\n";
strcpy(one," Man");
strcat(name,one);
cout<<name<<"\n";
for(int index=strlen(name);index>0;index--)
cout<<name[index-1];
return 0;
}
|
|
|
|
 |
[Download Code]
ตัวอย่างนี้ก็แสดงถึงวิธีการใช้ฟังก์ชั่นสตริงแบบต่างๆ
ครับ โดยเริ่มแรกเราจะต้องอ้างถึงไลบรารี่ ของสตริงก่อนนะครับนั่นก็คือ #include
<string.h> ครับ
คำสั่งแรก ที่เราเห็นก็คือ strcpy
เป็นคำสั่งที่ใช้สำหรับก็อปปี้คำให้กลับตัวแปรอะเรย์ โดยมีรูปแบบคือ strcpy(ตัวแปรอะเรย์,
คำ)
คำสั่งที่สอง คือ strcat เป็นคำสั่งที่ใช้ก็อปปี้คำต่อท้ายตัวแปรอะเรย์ มีรูปแบบคือ
strcat(ตัวแปรอะเรย์, คำที่จะนำมาต่อท้าย) ก็เหมือนกับตัวอย่างที่เราก็อปปี้คำว่า
Man มาต่อท้ายคำว่า Viking ครับ
ส่วนคำสั่งสุดท้ายก็คือ strlen เป็นคำสั่งที่ใช้วัดความยาวของคำ ครับ
ในส่วนของลูปนั้น ผมจะให้มันพิมพ์จากหลังมาหน้าครับ
โดยเราสร้างตัวแปร index ให้มีค่าเท่ากับความยาวของ name ครับ แล้วในการวนลูปแต่ละครั้ง
ค่าของ index ก็จะลดลงเรื่อยๆครับ ในส่วนของคำสั่งนั้นเราก็ให้พิมพ์ทีละตัวอักษรโดยพิมพ์ย้อนหลังคำนะครับ
มีข้อสังเกตตรงที่ name[index-1] ทำไมต้องมี -1 ก็เราเพราะว่าตัวอักษรตัวสุดท้ายของ
สตริงเป็น Null นะครับ
|