at 1 you are doing forward declaration.
you declare the interface of a function in the header file. that way the compiler would know that function swap
exists and it takes two int pointers but returns nothing.
from the outside of that module that’s all it needs to know. it can compile them separately and link them together later dynamically.
you’re separating swap interface in the header file from its implementation in the .c file that contains the body of the function.
I’ve been using duckduckgo for years. It used to be great. Nowadays whenever I use it I have to redo the search with !g or !b again to see the same garbage results and maybe between the three of them I find what I was looking for.
Now I’m using searx with 3 4 enignes selected to at least get their results in the same page. It’s slower than I like it to be but overall it’s faster than redoing the search in multiple engines.