title: sqlite3_exec() Callback function clarification
body: <p>I am having trouble understanding the use of the callback function in a SQLite3 database.</p>
  <p>I understand it is used to traverse SELECT statements with multiple records. But I do not understand how it does that or how to make my own <em>useful</em> callback. I have read through <a href="http://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm" rel="noreferrer">this tutorial</a> several times to try to understand, but that is just not doing it for me.</p>
  <p>When I use their example and debug in Visual Studio to see how the argument arrays are populated and traversed i get lost. Also VS only shows the current slot in the array, not the entire array itself.</p>
  <p>If you need any clarification please let me know as I am here to learn!</p>
  <p>I am asking for someone to explain how the callback is used. Maybe some examples of how others have used it. Just an explanation of what this one is doing even:</p>
  <pre><code>static int callback(void *data, int argc, char **argv, char **azColName){
     int i;
     fprintf(stderr, &quot;%s: &quot;, (const char*)data);
     for(i=0; i&lt;argc; i++){
        printf(&quot;%s = %s\n&quot;, azColName[i], argv[i] ? argv[i] : &quot;NULL&quot;);
     }
     printf(&quot;\n&quot;);
     return 0;
  }
  </code></pre>