Tôi tự hỏi liệu có thể sử dụng 1 hàm như swap() trong hai cấu trúc khác nhau để hoán đổi chúng không? Vì vậy, ví dụ,Một chức năng hoán đổi sẽ được sử dụng bởi 2 cấu trúc khác nhau
typedef struct{
char a;
}one;
typedef struct{
int c;
}two;
swap(??,??){
// code to swap 2 elements
}
one arr[8];
arr[1].a='a';
arr[2].a='b';
two brr[8];
brr[1].c = 11;
brr[2].c = 12;
Vì vậy, trên cơ sở đó, là nó có thể cho chức năng trao đổi để có thể trao đổi các yếu tố trong cấu trúc? Ví dụ: có thể sử dụng: 1. hoán đổi (arr [1], arr [2]); 2. trao đổi (brr [1], brr [2]);
Từ sự hiểu biết của tôi, điều đó không thể được thực hiện vì kiểu dữ liệu cho cả cấu trúc (và cả phần tử của nó) khác nhau. Tôi đã tự hỏi làm cho một chức năng mô-đun cho một dự án của tôi để giúp đỡ sẽ được thực sự đánh giá cao.
Cảm ơn.
bạn có thể xác định vĩ mô cho –
này Sử dụng C và như bạn đã viết nó, không có. Nó là không thể mà không cần viết một số mã thực sự xấu xí. Tuy nhiên, bạn có thể muốn điều tra các công đoàn. –
macro hoặc thay đổi thành 'swap (foo, bar, size)' – user3528438