title: How to write a compare function for qsort from stdlib?
body: <p>I have a structure:</p>
  
  <pre><code>struct pkt_
  {
    double x;
    double y;
    double alfa;
    double r_kw;
  };
  
  typedef struct pkt_ pkt;
  </code></pre>
  
  <p>A table of these structures:</p>
  
  <pre><code>pkt *tab_pkt;
  
  tab_pkt = malloc(ilosc_pkt * sizeof(pkt));
  </code></pre>
  
  <p>What I want to do is to sort <code>tab_pkt</code> by <code>tab_pkt.alfa</code> and <code>tab_pkt.r</code>:</p>
  
  <pre><code>qsort(tab_pkt, ilosc_pkt, sizeof(pkt), porownaj);
  </code></pre>
  
  <p>Where porownaj is a compare function, but how to write it? Here is my "sketch" of it:</p>
  
  <pre><code>int porownaj(const void *pkt_a, const void *pkt_b)
  {
    if (pkt_a.alfa &gt; pkt_b.alfa &amp;&amp; pkt_a.r_kw &gt; pkt_b.r_kw) return 1;
    if (pkt_a.alfa == pkt_b.alfa &amp;&amp; pkt_a.r_kw == pkt_b.r_kw) return 0;
    if (pkt_a.alfa &lt; pkt_b.alfa &amp;&amp; pkt_a.r_kw &lt; pkt_b.r_kw) return -1;
  }
  </code></pre>