title: Fastest way to expose C strings to NumPy?
body: <p>I'm working on converting some old text logs to a usable format in Python. 
  The files are huge, so I'm writing my own C extensions to run through the files as quickly as possible and parse out the relevant fields with regular expressions. My ultimate goal is to export these fields into <code>NumPy</code> arrays of <code>strings</code>. I know it's possible to create the <code>NumPy</code> array as a <code>PyObject</code> in C and then call <code>SetItem</code> on each element, but I'm looking to optimize as much as I can. </p>
  
  <p><strong>Can I use something like <code>memcpy</code> or <code>PyBuffer_FromMemory</code> to read the C strings into a <code>NumPy</code> <code>string</code> array directly?</strong> I understand that <code>NumPy</code> arrays are internally similar to C arrays, but do I have to ensure the <code>NumPy</code> array will be contiguously allocated?</p>
  
  <p>I intend to use the <code>NumPy</code> arrays to build columns <code>Pandas</code> for statistical analysis. As I understand it, <code>Pandas</code> uses <code>NumPy</code> arrays to store columns in a <code>DataFrame</code> so I won't have a large overhead going from <code>NumPy</code> into <code>Pandas</code>. I'd like to avoid <code>cython</code> if possible.</p>