Buenas estaba tratando de analizar la siguiente macro:
#define swap(t,x,y) { t _z; \
_z=y; \
y=x; \
x=_z; }
según el programa el parámetro t debe ser el nombre de un tipo (int, char o float)que sea del mismo tipo que los parametros x e y para así poder declarar la variable _z del mismo tipo.
mis dudas:
Para que sirve la barra '\' después del punto y coma.
la otra duda que tengo es si los parametros de swap pasan por valor como en cualquier funcion de c.
y la ultima duda, la macros reemplaza un texto de la forma
main(){
swap(t,x,y);
}
por todo lo qu esta adentro de las llaves {} incluyendo las llaves o las llaves no las reemplaza. si remplaza con las llaves no debería dar error.
main(){
{ t _z; \
_z=y; \
y=x; \
x=_z; }
}