Zastanawiam się, czy jest możliwe, aby jedna funkcja, taka jak zamiana(), była używana w dwóch różnych strukturach do zamiany? Tak na przykład,Jedna funkcja wymiany do użycia przez 2 różne struktury
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;
Tak, na podstawie, że jest to możliwe dla funkcji zamiany, aby móc zamienić elementy w elemencie? E.g można użyć: 1. swap (arr [1], arr [2]); 2. swap (brr [1], brr [2]);
Z tego punktu widzenia nie można tego zrobić, ponieważ typ danych zarówno dla struct (jak i dla jej elementu) jest inny. Zastanawiam się nad stworzeniem funkcji modułowej dla jednego z moich projektów, więc pomoc byłaby naprawdę doceniana.
Dzięki.
można definiować makra dla tego –
Korzystanie C i jak napisałeś to nie. Nie jest to możliwe bez napisania naprawdę paskudnego kodu. Możesz jednak zbadać związki. –
makro lub zmień na 'swap (foo, bar, size) – user3528438