22.อาเรย์ Array

อาเรย์ (Array) 

ลอกมาจาก:::::::::::::http://marcuscode.com/lang/cpp/arrays

type name[size];
ลองจินตนาการว่าถ้าคุณมีข้อมูลเป็นจำนวนมากและเป็นข้อมูลประเภทเดียวกัน การใช้อาเรย์เป็นวิธีที่ง่ายที่จะจัดการกับข้อมูลเหล่านี้
int n1 = 10;
int n2 = 50;
int n3 = 10;
int n4 = 30;
int n5 = 20;
ในตัวอย่างด้านบน เรามีตัวแปร 5 ตัว และแต่ละตัวมีประเภทเป็น int เราสามารถใช้แค่ตัวแปรอาเรย์ตัวเดียวเพื่อที่จะเก็บข้อมูลเหล่านี้
int n[5] = {10, 50, 10, 30, 20};

การประกาศอาเรย์

การประกาศอาเรย์เป็นขั้นตอนแรกที่ต้องทำ เมื่อคุณต้องการใช้อาเรย์ในการจัดการกับข้อมูล
int foo[3];
float x[10];
ในตัวอย่าง เราได้ประกาศตัวแปรอาเรย์ 2 ตัวแปรคือ foo และ x เหมือนเราประกาศตัวแปรทั่วไป แต่อาเรย์จะต้องระบุขนาดสูงสุดของมันที่เราจะใช้ และเราสามารถประกาศอาเรย์และกำหนดค่าให้มันในทันนี้
int myNumber[2] = {5, 100};
float money[5] = {10.5, 10.9, 1.5, 4.4, 3.1};
หรือเราสามารถกำหนดค่าให้อาเรย์หลังจากที่เราได้ประกาศมันเสร็จสิ้นแล้ว โดยการใช้ index เพื่อเข้าถึงตำแหน่งของข้อมูลในอาเรย์ คุณจะต้องเข้าใจว่าตำแหน่งของอาเรย์นั้นเริ่มต้นจาก 0 และจะสิ้นสุดที่ size-1 ยกตัวอย่างเช่น ถ้าอาเรย์มีขนาดเป็น 10 index ของมันคือ 0 - 9
int n[10];
n[0] = 1;
n[1] = 2;
n[5] = 5;
n[11] = 5; // error because an index out of bound
เราสามารถใช้แค่บาง index ได้ถ้าเราต้องการ แต่โดยปกติแล้ว มันไม่มีเหตุผลอะไรที่เราจะละเว้นบางตำแหน่ง

การสร้างอาเรย์โดยการใช้คำสั่ง for loop

อาเรย์นั้นทำงานได้ดีกับลูป การใช้ for loop เป็นวิธีที่ง่ายที่เราจะใช้กับอาเรย์ ถ้าบางครั้ง ถ้าเราต้องการสร้างอาเรย์กับข้อมูล 5, 10, 15, 20, ... , 100 แล้วเราจะทำได้อย่างไร แน่นอน เราจะใช้ for loop มาช่วย
#include <iostream>

using namespace std;

int main()
{
    int myNumber[20];
    for (int i = 0; i < 20; i++)
    {
        myNumber[i] = (i+1) * 5;
    }
    return 0;
}
ในตัวอย่าง เราต้องรู้ขนาดที่แน่นอนของอาเรย์และในตอนแรกเราจะสร้างอาเรย์ หลังจากนั้นเราใช้ for loop เพื่อวนซ้ำ 20 ครั้ง เพื่อกำหนดค่าให้ในอาเรย์แต่ละตำแหน่ง ซึ่งมันมีผลเหมือนกันกับที่เราทำแบบนี้
int myNumber[20] = {5, 10, 15, 20, 25, 30, 35, .. , 100};

Accessing the values of an array

อาเรย์เป็นข้อมูลแบบลำดับที่เก็บข้อมูลในหนึ่งตัวแปร มันมี index ที่สามารถระบบตำแหน่งของแต่ละค่าในหน่วยความจำ ดังนั้น อาเรย์สามารถเข้าถึงได้โดยตรงผ่านทาง index อย่างไรก็ตาม การใช้ for loop เพื่อวนซ้ำและเข้าถึงข้อมูลในอาเรย์นั่นเป็นวิธีที่ง่ายที่สุดที่เราชอบทำ มาดูตัวอย่างของการอ่านข้อมูลจากอาเรย์ for loop
#include <iostream>

using namespace std;

int main()
{
    int number[5] = {1, 2, 3, 4, 5};
    for (int i = 0; i < 5; i++)
    {
        cout << "number[" << i << "] = " << number[i] << endl;
    }
    return 0;
}

Output

number[0] = 1
number[1] = 2
number[2] = 3
number[3] = 4
number[4] = 5
ในตัวอย่างนี้ จะแสดงวิธีอ่านข้อมูลในอาเรย์โดยการใช้ for loop และเราใช้ตัวแปร i เป็น index ของอาเรย์ คุณสามารถนำตัวอย่างนี้ไปประยุกต์ใช้ต่อได้ตามที่คุณต้องการ เช่น การแสดงอาเรย์จากตำแหน่งสุดท้ายมายังตำแหน่งแรก นี่เป็นวิธี
#include <iostream>

using namespace std;

int main()
{
    string countries[5] = {"US", "CH", "UK", "GR", "JP"};
    for (int i = 4; i >= 0; i--)
    {
        cout << "countries[" << i << "] = " << countries[i] << endl;
    }
    return 0;
}

Output

countries[4] = JP
countries[3] = GR
countries[2] = UK
countries[1] = CH
countries[0] = US
แทนที่จะแสดงข้อมูลจากอันแรกไปยังอันสุดท้ายหรืออ่านไปตามลำดับ ตัวอย่างนี้จะแสดงให้คุณเห็นถึงวิธีการอ่านข้อมูลจากท้ายของอาเรย์ ตั้งแต่เรารู้ว่าขนาดของอาเรย์คือ 5 ดังนั้น index ตัวสุดท้ายจะต้องเป็น 4 เราจึงใช้ for loop ลดค่าของ i แทนที่จะเพิ่ม

Multidimensional arrays

ที่คุณได้เพิ่งเรียนรู้ไปทั้งหมดนั้นเป็นเพียงแค่พื้นฐานของอาเรย์ และเราเรียกว่า อาเรย์หนึ่งมิติ ต่อไป เราจะเรียนรู้เกี่ยวกับอาเรย์หลายมิติ อาเรย์หลายมิตินั้นเป็นอาเรย์ของอาเรย์ นั่นหมายความว่าเราสามารถมีอาเรย์ในอาเรย์ มาดูตัวอย่างในอาเรย์สองมิติ
int number[3][4];
string location[2][2][2];
ในตัวอย่าง แสดงวิธีให้คุณเห็นวิธีการประกาศอาเรย์สองมิติ บรรทัดแรกคือ อาเรย์สองมิติ และบรรทัดที่สองเป็นอาเรย์สามมิติ แต่ในบทเรียนนี้เราจะพูดถึงแค่อาเรย์สองมิติ เพราะว่าอาเรย์หลายมิตินั้นไม่ค่อยได้ใช้ อย่างไรก็ตาม มันมีแนวคิดเดียวกัน
ต่อไป มาดูตัวอย่างวิธีการประกาศอาเรย์สองมิติ
int number[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
};
อาเรย์สองมิตินั้นเหมือนตาราง โดยการเข้าถึงแต่ละค่าในอาเรย์ ยกตัวอย่างเช่น 10 เราสามารถเข้าถึงได้โดย number[2][1] และเราสามารถแสดงรายการของข้อมูลทั้งหมดโดยการใช้ for loop ที่ซ้อนกัน
#include <iostream>
using namespace std;

int main()
{
    int m[3][4] =
    {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            cout << "m[" << i << "][" << j << "] = ";
            cout <<  m[i][j] << endl;
        }
    }
    return 0;
}
ในตัวอย่าง เราใช้ for loop เพื่อแสดงข้อมูลจากอาเรย์ สำหรับอาเรย์สองมิติ เรามีการใช้ for loop ที่ซ้อนกัน for loop ด้านนอกจะใช้รันสำหรับ row และด้านในสำหรับ column m[row][col] และข้างล่างเป็นผลลัพธ์ของโปรแกรม
m[0][0] = 1
m[0][1] = 2
m[0][2] = 3
m[0][3] = 4
m[1][0] = 5
m[1][1] = 6
m[1][2] = 7
m[1][3] = 8
m[2][0] = 9
m[2][1] = 10
m[2][2] = 11
m[2][3] = 12
ในบทนี้ เราได้ครอบคลุมในอาเรย์พื้นฐานทั้งหนึ่งมิติและสองมิติ
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

สอน C++: ตัวแปรอะเรย์ (array) เบื้องต้น

ลอกมาจาก.....https://www.youtube.com/watch?v=76P-welnASc



#include <iostream>

using namespace std;

void demo1() {
    double t1 = 27.5;
    double t2 = 24;
    double t3 = 30.5;
    double t4 = 29.5;
    double t5 = 24.5;
    double avg = (t1 + t2 + t3 + t4 + t5) / 5;
    cout << "avg = " << avg << endl;
}

void demo2() {
    double t[5] = {27.5, 24, 30.5, 29.5, 24.5};
//    t[0] ... t[4]
    double sum = 0;
    for (int i = 0; i < 5; i++) {
//        cout << t[i] << endl;
        sum += t[i]; // sum = sum + t[i];
    }
    cout << "avg = " << sum / 5 << endl;
}

void initArray() {
    double t[5] = {27.5, 24, 30.5, 29.5, 24.5};
    double a[] = {27.5, 24, 30.5, 29.5, 24.5}; // initialize
    double b[]{27.5, 24, 30.5, 29.5, 24.5}; // ** C++11 uniform initializer
    double e[5];
    e[0] = 27.5;
    e[1] = 24;
    e[2] = 30.5;
    e[3] = 29.5;
    e[4] = 24.5;

    char x[]{'r', 'p', 's'};
    string flowers[]{"rose", "tulip", "lily"};
//    for(int i=0;i<=2;i++) {
//        cout << flowers[i] << endl;
//    }
    cout << flowers[1] << endl;
}

int main() {
//    demo1();
//    demo2();
    initArray();
    return 0;
}


--------------------------------------------------------------------------------------------------------------------------

สอน ​​C++: อะเรย์ 2 มิติ





#include <iostream>
#include <iomanip>

using namespace std;

void demo1() {
    int a[]{7, 6, 8}; // C++11 uniform initialization
    int b[3]{20, 25, 10};
    int c[2][3]; // 2-dimensional array
    c[0][0] = 7;
    c[0][1] = 6;
    c[0][2] = 8;
    c[1][0] = 20;
    c[1][1] = 25;
    c[1][2] = 10;
    int d[2][3]{
            {7,  6,  8},
            {20, 25, 10}
    };
    const int totalCols = 4;
    int e[][totalCols]{
            {7,  6,  8,  10},
            {20, 25, 10, 99}
    };
    cout << sizeof(e) << endl;
    cout << sizeof(e[0]) << endl;
    cout << sizeof(e[0][0]) << endl;
    size_t rows = sizeof(e) / sizeof(e[0]);
//    size_t cols = sizeof(e[0]) / sizeof(e[0][0]);
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < totalCols; ++j) {
            cout << "e[" << i << "][" << j << "] = " << setw(3) << e[i][j] << "  ";
        }
        cout << endl;
    }

//    for (int i = 0; i < 2; ++i) {
//        for(int j=0;j<3;++j) {
//            cout << "e[" << i << "][" << j << "] = " << setw(3) << e[i][j] << "  ";
//        }
//        cout << endl;
//    }
}

int main() {
    demo1();
    return 0;
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------------------------------------------------------------------------------------------------------------

 อาร์เรย์ (Array)


จากความรู้ที่ผ่านมาจะเห็นได้ว่าเราจะใช้ตัวแปรในการเก็บหรือพักค่าที่ต้องการ เช่น int a = 5, b= 2; เป็นต้น จะเป็นอย่างไรหากเราต้องการเขียนโปรแกรมเพื่อเก็บค่า 100 ค่า ด้วยเหตุผลนี้จึงทำให้มีการนำเอาอาร์เรย์มาใช้งาน
      อาร์เรย์เป็นตัวแปรชนิดหนึ่งที่ใช้ในการเก็บข้อมูลแบบเป็นชุด และข้อมูลที่อยู่ในอาร์เรย์ต้องเป็นข้อมูลประเภทเดียวกันโดยใช้การอ้างอิงผ่านชื่อตัวแปรเพียงชื่อเดียวโดยสามารถเลือกใช้งานแต่ละค่าที่อยู่ในอาร์เรย์ได้ผ่านทางหมายเลขระบุลำดับในอาร์เรย์

      อาร์เรย์มักใช้กับการทำงานที่ต้องทำงานกับตัวแปรชนิดเดียวกันหลายตัวที่มีการทำงานเหมือนกัน  เช่น  คะแนนของนักศึกษาภายในห้อง 100 คน เป็นต้น หากใช้ความรู้ที่ผ่านมาจะเห็นได้ว่าเราต้องทำการประกาศตัวแปรประเภท int จำนวน 100 ตัวโดยมีชื่อไม่ซ้ำกัน เช่น int a1, a2, …, a100; หากใช้อาร์เรย์เราสามารถประกาศได้เป็น int a[100];

การประกาศตัวแปรอาร์เรย์

      การประกาศตัวแปรอาร์เรย์มีลักษณะดังต่อไปนี้
การประกาศตัวแปรอาร์เรย์
รูปที่ 1. การประกาศตัวแปรอาร์เรย์
      ตัวอย่าง เช่น int a[4]; หมายความว่าตัวแปรอาร์เรย์จะมีสมาชิกทั้งหมด 4 ตัว ประกอบไปด้วย a[0], a[1], a[2], a[3] จะเห็นได้ว่าการเข้าถึงข้อมูลในอาร์เรย์จะใช้ได้ด้วยการระบุถึงเลขลำดับ โดยคอมพิวเตอร์จะเริ่มนับจากลำดับที่ 0 ซึ่งแตกต่างจากมนุษย์ตัวอย่าง เช่น หากทำการประกาศตัวแปรอาร์เรย์เป็น int c[4]; หากต้องการกำหนดค่าให้กับอาร์เรย์ตัวแรกเป็น 5 จะกำหนดค่าเป็น c[0] = 5;    

การกำหนดค่าเริ่มต้นให้กับอาร์เรย์

      ค่าเริ่มต้นของอาร์เรย์จะมีลักษณะเช่นเดียวกับค่าเริ่มต้นของตัวแปรโดยทั่วไปหากไม่มีการกำหนดค่าเริ่มต้น ค่าที่ได้จะเป็นค่าที่ค้างอยู่ในตำแหน่งของหน่วยความจำซึ่งเป็นค่าที่ไม่แน่นอนหรือค่าขยะนั่นเองเราสามารถกำหนดค่าเริ่มต้นให้กับอาร์เรย์ด้วยวิธีต่อไปนี้
1
2
3
4
5
6
7
8
9
10
#include<iostream>
using namespace std;
  
int main()
{
  char a[] = {'a', 'b', 'c', 'd'};
  int i;
  for( i = 0; i < 4; i++)
     cout << a[i] << endl;
}
      จากในรูปจะเห็นได้ว่าเราไม่จำเป็นต้องกำหนดขนาดของอาร์เรย์ a[] เนื่องจากในการกำหนดค่าเริ่มต้นฝั่งขวามือนั้นได้บอกจำนวนของขนาดอาร์เรย์ด้วยข้อมูลที่กำหนดไว้ชัดเจนอยู่แล้ว หรือหากต้องการระบุก็สามารถทำได้เช่นกันแต่ต้องแน่ใจว่าขนาดที่กำหนดไว้ต้องเท่ากับจำนวนข้อมูลที่กำหนดค่าเริ่มต้นไว้ เช่น char a[4] = {'a','b','c','d'}; อาร์เรย์ในตัวอย่างนี้เรียกว่าอาร์เรย์หนึ่งมิติซึ่งมีลักษณะการเก็บข้อมูลภายในอาร์เรย์ดังนี้
แสดงค่าที่อยู่ในอาร์เรย์หนึ่งมิติ
รูปที่ 2. แสดงค่าที่อยู่ในอาร์เรย์หนึ่งมิติ

อาร์เรย์กับการวนรอบ

      หากขนาดของอาร์เรย์มีมากเกินไป การกำหนดค่าเริ่มต้นด้วยวิธีที่ผ่านมาจะทำได้ลำบากมาก ดังนั้นหากต้องการกำหนดค่าเริ่มต้นให้กับทุก ๆ ตัวที่อยู่ภายในอาร์เรย์เราจะใช้การวนรอบสำหรับจัดการกับข้อมูลแต่ละตัวที่อยู่ภายในอาร์เรย์ ดังตัวอย่างต่อไปนี้
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
using namespace std;
 
int main()
{
  int a[4];
  int i;
  for ( i = 0; i < 4; i++ )
     a[i] = i*2;
  for ( i = 0; i < 4; i++ )
     cout << a[i] << endl;
}
      ในตัวอย่างนี้เราใช้ตัวแปรวนรอบ i ในการอ้างถึงข้อมูลแต่ละตัวที่อยู่ในอาร์เรย์ดังนั้นการวนรอบจึงเริ่มจาก 0
แสดงค่าที่อยู่ในอาร์เรย์หนึ่งมิติจากการวนรอบ
รูปที่ 3. แสดงค่าที่อยู่ในอาร์เรย์หนึ่งมิติจากการวนรอบ

อาร์เรย์หลายมิติ

      หากเป็นอาร์เรย์หลายมิติจะเป็นการเพิ่มสัญลัษณ์ “[ ]” เข้าไปต่อท้ายมิติเดิมและทำเช่นนี้ไปเรื่อย ๆ หากต้องการมิติของอาร์เรย์มากกว่าสองมิติ ตัวอย่าง เช่น หากต้องการประกาศเป็นอาร์เรย์สองมิติ จะประกาศตัวแปรเป็น char a[2][2]; ขณะเดียวกันหากต้องการประกาศตัวแปรเป็นอาร์เรย์สามมิติจะประกาศเป็น char a[2][2][3] เป็นต้นจะเห็นได้ว่าลักษณะการประกาศตัวแปรแบบอาร์เรย์คล้ายกับการจัดการเมตริกซ์ในทางคณิตศาสตร์นั่นเอง ซึ่งสามารถเขียนโปรแกรมในการจัดการอาร์เรย์สองมิติดังนี้
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
  
int main()
{
  char a[][2] = {{'a','b'}, {'c','d'}};
  int i, j;
  for ( j = 0; j < 2; j++ )
  {
     for (i = 0; i < 2; i++ )
     {
       cout << a[j][i] << "\t";
     }
     cout << endl;
  }
}
      จากการกำหนดค่าเริ่มต้นจะเห็นได้ว่าเราจะใช้สัญลักษณ์ “{ }” เป็นตัวกำหนดถึงขอบเขตของแต่ละมิติซึ่งได้อธิบายไว้ในรูปด้านล่าง
ลักษณะการกำหนดค่าเริ่มต้นของอาร์เรย์สองมิติ
รูปที่ 4. ลักษณะการกำหนดค่าเริ่มต้นของอาร์เรย์สองมิติ
      ลักษณะของค่าที่อยู่ภายในอาร์เรย์สองมิติเป็นดังนี้
ค่าที่อยู่ในอาร์เรย์สองมิติ
รูปที่ 5. ค่าที่อยู่ในอาร์เรย์สองมิติ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
 
int main()
{
  char a[2][2];
  int i, j;
  for ( j = 0; j < 2; j++ )
     for (i = 0; i < 2; i++ )
       a[j][i] = 'a'+i+j*2;
 
  for ( j = 0; j < 2; j++ )
  {
     for (i = 0; i < 2; i++ )
     {
       cout << a[j][i] << "\t";
     }
     cout << endl;
  }
}
      จากโค้ดจะเห็นได้ว่ามีการใช้การวนรอบซ้อนกันสองครั้ง สำหรับรอบของ j ใช้ในการวนรอบตามแถวของอาร์เรย์ ส่วนรอบของ i ใช้ในการวนรอบตามหลักของอาร์เรย์ a
      ในการใช้งานอาร์เรย์ต้องระวังถึงตัวเลขที่ใช้ระบุลำดับในอาร์เรย์ เนื่องจากตัวคอมไพเลอร์ไม่ได้ทำการตรวจสอบว่าค่าเลขลำดับที่ใช้อยู่นอกช่วงขนาดของอาร์เรย์หรือไม่ ซึ่งจะไม่มีการแจ้งเตือนหรือข้อผิดพลาดใด ๆ เกิดขึ้นและหากทำการใช้ค่านอกช่วงแล้วค่าที่ได้จะเป็นค่าขยะซึ่งอาจทำให้โปรแกรมไม่สามารถทำงานต่อได้

การใช้งานอาร์เรย์เป็นพารามิเตอร์ของฟังก์ชัน

      สำหรับอาร์เรย์แล้วเราไม่สามารถส่งพารามิเตอร์ด้วยการส่งผ่านค่า (pass by value) เหมือนกับตัวแปรทั่วไปได้ แต่สามารถส่งผ่านค่าในลักษณะของตำแหน่งหน่วยความจำของอาร์เรย์ได้ (pass by reference) ดังตัวอย่างต่อไปนี้
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
 
void PrintFunc(int my_arg[], int i)
{
  for (int n=0; n < i; n++)
     cout << my_arg[n] << endl;
}
 
void main()
{
  int my_array[] = {1, 2, 3, 4, 5};
  PrintFunc(my_array,5);
}
      จากตัวอย่างนี้จะเห็นว่าเราส่งอาร์เรย์ my_array เป็นพารามิเตอร์ของฟังก์ชัน PrintFunc() การอ้างถึงชื่ออาร์เรย์เฉย ๆ โดยไม่ระบุเลขลำดับของอาร์เรย์หมายถึงการคืนค่าตำแหน่งบนหน่วยความจำของตัวแปรอาร์เรย์ลำดับที่ 0 ออกมา ดังนั้นในตัวอย่างนี้จึงเป็นการส่งค่าแบบอ้างอิงซึ่งสามารถศึกษาเพิ่มเติมได้ในเรื่องของตัวชี้

การใช้อาร์เรย์เก็บข้อความ

      เนื่องจากอาร์เรย์ทำการเก็บข้อมูลเป็นชุดและเป็นข้อมูลประเภทเดียวกัน ดังนั้นจึงนิยมใช้อาร์เรย์ของข้อมูลประเภท char เพื่อทำการเก็บข้อความ เช่น            char my_string[10]; ซึ่งหมายความว่าตัวแปร my_string สามารถเก็บตัวอักษรได้จำนวนสิบตัวแต่เราต้องการอักขระพิเศษในการแจ้งกับคอมไพเลอร์ให้รู้ว่าเป็นการจบประโยคด้วยอักขระพิเศษ ‘\0’ ตัวอย่างในการเก็บข้อมูลของตัวแปร my_string อาจจะเป็นดังรูปด้านล่าง
การจัดเก็บข้อความในอาร์เรย์
รูปที่ 6. การจัดเก็บข้อความในอาร์เรย์

การกำหนดค่าเริ่มต้นของข้อความ

      การกำหนดค่าเริ่มต้นของข้อความสามารถทำได้หลายลักษณะ เช่น char my_string[] = { 'D', 'E', 'V', 'X', 'C','O','\0' }; นอกจากนี้ยังมีหลายวิธีที่ใช้ในการกำหนดค่าเริ่มต้นของอาร์เรย์ชนิด char ด้วยการใช้ข้อความโดยตรงซึ่งจะครอบด้วยสัญลักษณ์อัญประกาศ “ ” ข้อดีของการใช้วิธีนี้ได้แก่ตัวจบประโยคด้วยอักขระพิเศษ ‘\0’ โดยอัตโนมัติ ซึ่งสามารถประกาศค่าเริ่มต้นให้กับอาร์เรย์ของ char ได้ดังนี้ char my_string[] =”DEVXCO”; ดังตัวอย่างต่อไปนี้
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
 
int main ()
{
  char ask[] = "Enter your first name: ";
  char answer[] = "So your name is ";
  char name [100];
 
  cout << ask;
  cin >> name;
 
  cout << answer << name << ".";
  return 0;
}
 ******************************************************************************************************

Arrays in C++

An array is a collection of similar items stored in contiguous memory locations. In programming, sometimes a simple variable is not enough to hold all the data. For example, lets say we want to store the marks of 500 students, having 500 different variables for this task is not feasible, we can define an array with size 500 that can hold the marks of all students.
C++ arrays

Declaring an array in C++

There are couple of ways to declare an array.
Method 1:
int arr[5];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
arr[4] = 50;
Method 2:
int arr[] = {10, 20, 30, 40, 50};
Method 3:

Accessing Array Elements

Array index starts with 0, which means the first array element is at index 0, second is at index 1 and so on. We can use this information to display the array elements. See the code below:
#include <iostream>
using namespace std;

int main(){
   int arr[] = {11, 22, 33, 44, 55};
   cout<<arr[0]<<endl;
   cout<<arr[1]<<endl;
   cout<<arr[2]<<endl;
   cout<<arr[3]<<endl;
   cout<<arr[4]<<endl;
   return 0;
}
Output:
11
22
33
44
55
Although this code worked fine, displaying all the elements of array like this is not recommended. When you want to access a particular array element then this is fine but if you want to display all the elements then you should use a loop like this:
#include <iostream>
using namespace std;

int main(){
   int arr[] = {11, 22, 33, 44, 55};
   int n=0;
  
   while(n<=4){
      cout<<arr[n]<<endl;
      n++;
   }
   return 0;
}