Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

103 Zeilen
4.0KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>bsearch (The Red Hat newlib C Library)</title>
  7. <meta name="description" content="bsearch (The Red Hat newlib C Library)">
  8. <meta name="keywords" content="bsearch (The Red Hat newlib C Library)">
  9. <meta name="resource-type" content="document">
  10. <meta name="distribution" content="global">
  11. <meta name="Generator" content="makeinfo">
  12. <link href="index.html#Top" rel="start" title="Top">
  13. <link href="Document-Index.html#Document-Index" rel="index" title="Document Index">
  14. <link href="Document-Index.html#SEC_Contents" rel="contents" title="Table of Contents">
  15. <link href="Stdlib.html#Stdlib" rel="up" title="Stdlib">
  16. <link href="calloc.html#calloc" rel="next" title="calloc">
  17. <link href="atoll.html#atoll" rel="prev" title="atoll">
  18. <style type="text/css">
  19. <!--
  20. a.summary-letter {text-decoration: none}
  21. blockquote.indentedblock {margin-right: 0em}
  22. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  23. blockquote.smallquotation {font-size: smaller}
  24. div.display {margin-left: 3.2em}
  25. div.example {margin-left: 3.2em}
  26. div.lisp {margin-left: 3.2em}
  27. div.smalldisplay {margin-left: 3.2em}
  28. div.smallexample {margin-left: 3.2em}
  29. div.smalllisp {margin-left: 3.2em}
  30. kbd {font-style: oblique}
  31. pre.display {font-family: inherit}
  32. pre.format {font-family: inherit}
  33. pre.menu-comment {font-family: serif}
  34. pre.menu-preformatted {font-family: serif}
  35. pre.smalldisplay {font-family: inherit; font-size: smaller}
  36. pre.smallexample {font-size: smaller}
  37. pre.smallformat {font-family: inherit; font-size: smaller}
  38. pre.smalllisp {font-size: smaller}
  39. span.nolinebreak {white-space: nowrap}
  40. span.roman {font-family: initial; font-weight: normal}
  41. span.sansserif {font-family: sans-serif; font-weight: normal}
  42. ul.no-bullet {list-style: none}
  43. -->
  44. </style>
  45. </head>
  46. <body lang="en">
  47. <a name="bsearch"></a>
  48. <div class="header">
  49. <p>
  50. Next: <a href="calloc.html#calloc" accesskey="n" rel="next">calloc</a>, Previous: <a href="atoll.html#atoll" accesskey="p" rel="prev">atoll</a>, Up: <a href="Stdlib.html#Stdlib" accesskey="u" rel="up">Stdlib</a> &nbsp; [<a href="Document-Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Document-Index.html#Document-Index" title="Index" rel="index">Index</a>]</p>
  51. </div>
  52. <hr>
  53. <a name="bsearch_002d_002d_002dbinary-search"></a>
  54. <h3 class="section">2.10 <code>bsearch</code>&mdash;binary search</h3>
  55. <a name="index-bsearch"></a>
  56. <p><strong>Synopsis</strong>
  57. </p><div class="example">
  58. <pre class="example">#include &lt;stdlib.h&gt;
  59. void *bsearch(const void *<var>key</var>, const void *<var>base</var>,
  60. size_t <var>nmemb</var>, size_t <var>size</var>,
  61. int (*<var>compar</var>)(const void *, const void *));
  62. </pre></div>
  63. <p><strong>Description</strong><br>
  64. <code>bsearch</code> searches an array beginning at <var>base</var> for any element
  65. that matches <var>key</var>, using binary search. <var>nmemb</var> is the element
  66. count of the array; <var>size</var> is the size of each element.
  67. </p>
  68. <p>The array must be sorted in ascending order with respect to the
  69. comparison function <var>compar</var> (which you supply as the last argument of
  70. <code>bsearch</code>).
  71. </p>
  72. <p>You must define the comparison function <code>(*<var>compar</var>)</code> to have two
  73. arguments; its result must be negative if the first argument is
  74. less than the second, zero if the two arguments match, and
  75. positive if the first argument is greater than the second (where
  76. &ldquo;less than&rdquo; and &ldquo;greater than&rdquo; refer to whatever arbitrary
  77. ordering is appropriate).
  78. </p>
  79. <br>
  80. <p><strong>Returns</strong><br>
  81. Returns a pointer to an element of <var>array</var> that matches <var>key</var>. If
  82. more than one matching element is available, the result may point to
  83. any of them.
  84. </p>
  85. <br>
  86. <p><strong>Portability</strong><br>
  87. <code>bsearch</code> is ANSI.
  88. </p>
  89. <p>No supporting OS subroutines are required.
  90. </p>
  91. <br>
  92. </body>
  93. </html>