title: Passing a pointer to an int array to a c-function
body: <p>I have a very basic question. </p>
  
  <p>What is wrong with this call?</p>
  
  <pre><code>int params[2] = {1, 1};
  return strcmp95((char*)buffer1, (char*)buffer2, (long)stringLength, &amp;params);
  </code></pre>
  
  <p>The function is defined like this:</p>
  
  <pre><code>double  strcmp95(char *ying, char *yang, long y_length, int *ind_c[])
  
  {...
  </code></pre>
  
  <p>When I compile in XCode, I get the following warning:</p>
  
  <blockquote>
    <p>warning: passing argument 4 of
    'strcmp95' from incompatible pointer
    type</p>
  </blockquote>
  
  <p>Sorry for being imprecise. Here is the function description:</p>
  
  <blockquote>
    <p>/* Arguments:
           ying and yang are pointers to the 2 strings to be compared.  The strings
       need not be NUL-terminated strings
    because the length is passed.
           y_length is the length of the strings. 
           ind_c is an array that is used to define whether certain options should
    be     activated.  A nonzero value
    indicates the option is deactivated.<br>
       The options are:
         ind_c[0] Increase the probability of a match when the number of matched
       characters is large.  This option
    allows for a little more   tolerance
    when the strings are large.  It is not
    an appropriate     test when comparing
    fixed length fields such as phone and
       social security numbers.
         ind_c[1] All lower case characters are converted to upper case
    prior      to the comparison.  Disabling
    this feature means that the lower<br>
    case string "code" will not be
    recognized as the same as the      upper
    case string "CODE".  Also, the
    adjustment for similar     characters
    section only applies to uppercase
    characters.
           The suggested values are all zeros for character strings such as
    names.    */</p>
  </blockquote>