Cấu trúc và hàm
Bài học 5 trên 8 trong khóa học Cấu trúc trong C/C++ của Coddy.
Sau khi tạo một cấu trúc trong tệp C/C++, bạn có thể dùng cấu trúc này làm đối số của hàm hoặc làm kiểu giá trị trả về.
Ví dụ, giả sử Person là một cấu trúc:
void greet(Person p) {
cout << "Hello, " << p.name << endl;
}Trong C, bạn cần thêm từ khóa struct ở phía trước:
void greet(struct Person p) {
printf("Hello, %s\n", p.name);
}Thử thách
DễBạn được cung cấp một phần code tạo cấu trúc Point, khởi tạo hai điểm và tính khoảng cách giữa chúng.
Nhiệm vụ của bạn là tạo một hàm có tên calcDistance, nhận hai cấu trúc Point làm đối số, tính khoảng cách và trả về kết quả (kiểu int).
Cho hai điểm p1 và p2, khoảng cách giữa chúng là:
(p2.x - p1.x) * (p2.x - p1.x) + (p2.y - p1.y) * (p2.y - p1.y)Bạn không cần sửa hàm main!
Tự làm thử
#include <stdio.h>
struct Point {
int x;
int y;
};
// Viết hàm (function) calcDistance tại đây
int main() {
char tmp[50];
int p1x, p1y, p2x, p2y;
scanf("%s %d %d", &tmp, &p1x, &p1y);
scanf("%s %d %d", &tmp, &p2x, &p2y);
struct Point p1 = {p1x, p1y};
struct Point p2 = {p2x, p2y};
int distance = calcDistance(p1, p2);
printf("Distance between p1 and p2: %d", distance);
return 0;
};
Tất cả bài học trong Cấu trúc trong C/C++
Tự luyện tập: Trình biên dịch C online