title: Passing a list of strings to from python/ctypes to C function expecting char **
body: <p>I have a C function which expects a list \0 terminated strings as input:</p>
  
  <pre><code>void external_C( int length , const char ** string_list) { 
     // Inspect the content of string_list - but not modify it.
  } 
  </code></pre>
  
  <p>From python (with ctypes) I would like to call this function based on a list of python strings:</p>
  
  <pre><code>def call_c( string_list ):
      lib.external_C( ?? )
  
  call_c( ["String1" , "String2" , "The last string"])
  </code></pre>
  
  <p>Any tips on how to build up the datastructure on the python side? Observe that I guarantee that the C function will NOT alter content of the strings in string_list.</p>
  
  <p>Regards</p>
  
  <p>joakim</p>