C語言不支持重載運算符,只能通過函數來實現類似的功能。例如,可以通過定義一個函數來代替重載的加法運算符:
#include <stdio.h>
typedef struct {
int x;
int y;
} Point;
Point add(Point p1, Point p2) {
Point result;
result.x = p1.x + p2.x;
result.y = p1.y + p2.y;
return result;
}
int main() {
Point p1 = {1, 2};
Point p2 = {3, 4};
Point sum = add(p1, p2);
printf("Sum: (%d, %d)\n", sum.x, sum.y);
return 0;
}
這段代碼定義了一個 Point
結構體和一個 add
函數,用來計算兩個 Point
結構體的坐標之和。在 main
函數中,我們創建了兩個 Point
對象 p1
和 p2
,然后使用 add
函數計算它們的和,并打印結果。
需要注意的是,C++ 支持重載運算符的特性,可以更方便地實現類似的功能。但是,在C語言中,我們只能通過函數來模擬重載運算符的行為。