91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++ struct數組與指針的使用技巧

c++
小樊
83
2024-09-10 19:31:31
欄目: 編程語言

在C++中,結構體(struct)是一種自定義的數據類型,它可以存儲不同類型的數據。當涉及到結構體數組和指針時,有一些技巧可以簡化代碼和提高效率。以下是一些建議:

  1. 定義結構體:
struct Student {
    int id;
    string name;
    float score;
};
  1. 創建結構體變量:
Student s1;
  1. 初始化結構體數組:
Student students[] = {
    {1, "Alice", 90},
    {2, "Bob", 85},
    {3, "Charlie", 92}
};
  1. 使用指針訪問結構體成員:
Student *pStudent = &students[0];
cout << pStudent->name<< endl; // 輸出 "Alice"
  1. 遍歷結構體數組:
int n = sizeof(students) / sizeof(Student);
for (int i = 0; i < n; ++i) {
    cout<< students[i].id << " "<< students[i].name << " "<< students[i].score<< endl;
}
  1. 使用指針遍歷結構體數組:
for (int i = 0; i < n; ++i) {
    Student *pStudent = &students[i];
    cout << pStudent->id << " " << pStudent->name << " " << pStudent->score<< endl;
}
  1. 傳遞結構體數組給函數:
void printStudents(Student *students, int n) {
    for (int i = 0; i < n; ++i) {
        cout<< students[i].id << " "<< students[i].name << " "<< students[i].score<< endl;
    }
}

int main() {
    // ... 初始化結構體數組
    printStudents(students, n);
    return 0;
}
  1. 返回結構體指針:
Student* findStudentById(Student *students, int n, int id) {
    for (int i = 0; i < n; ++i) {
        if (students[i].id == id) {
            return &students[i];
        }
    }
    return nullptr;
}

int main() {
    // ... 初始化結構體數組
    Student *pFound = findStudentById(students, n, 2);
    if (pFound != nullptr) {
        cout << pFound->name<< endl; // 輸出 "Bob"
    }
    return 0;
}

這些技巧可以幫助你更有效地使用結構體數組和指針。請注意,這里的代碼示例僅用于說明目的,實際應用中可能需要根據具體情況進行調整。

0
南昌市| 抚宁县| 大田县| 兴海县| 广汉市| 襄汾县| 正安县| 青州市| 衡水市| 延长县| 青阳县| 永春县| 桂平市| 福清市| 襄樊市| 中西区| 萝北县| 平潭县| 湖南省| 海口市| 托里县| 锦州市| 广州市| 巫山县| 黔江区| 当涂县| 闽侯县| 任丘市| 土默特右旗| 中阳县| 巴彦淖尔市| 专栏| 讷河市| 沁水县| 河西区| 通渭县| 孝昌县| 安图县| 新丰县| 石泉县| 故城县|