1
0

stdlib.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. /*
  2. filesummary.CH: 提供基础的功能函数,包括创建销毁自由内存区的函数
  3. filesummary.EN: Provide standard function, included malloc and free
  4. CH: 退出程序
  5. EN: Exit program
  6. exitCode.CH: main函数返回值,通常0代表成功
  7. exitCode.EN: main return value, 0 indicates success
  8. */
  9. void exit(int exitCode);
  10. /*
  11. CH: 从堆中申请内存
  12. EN: allocate memory from heap space
  13. size.CH: 长度
  14. size.EN: length
  15. */
  16. void* malloc(size_t size);
  17. /*
  18. CH: 从堆中申请内存,并清零,适用于数组创建
  19. EN: allocate memory from heap space, and set all to 0, use in array creation
  20. numOfArray.CH: 数组长度
  21. numOfArray.EN: array length
  22. arrayElemSize.CH: 数组成员大小
  23. arrayElemSize.EN: array element size
  24. */
  25. void* calloc(int numOfArray, size_t arrayElemSize);
  26. /*
  27. CH: 将malloc或calloc申请的内容扩充长度,返回新的地址
  28. EN: realloc malloc or calloc memory, return new address
  29. oldBuffer.CH: malloc或calloc申请的内容
  30. oldBuffer.EN: malloc or calloc returned pointer
  31. newBufferSize.CH: 新大小
  32. newBufferSize.EN: new size
  33. */
  34. void* realloc(void *oldBuffer, int newBufferSize);
  35. /*
  36. CH: 释放malloc或calloc申请的内存
  37. EN: Release malloc or calloc returned pointer
  38. memory.CH: malloc或calloc申请的内容
  39. memory.EN: malloc or calloc returned pointer
  40. */
  41. void* free(void *memory);
  42. /*
  43. CH: 将指定的数字转换为指定进制的字符串表示
  44. EN: Transfer given number to given base
  45. number.CH: 给定的数字
  46. number.EN: Given number
  47. toString.CH: 要写入的字符串
  48. toString.EN: String to write
  49. base.CH: 进制
  50. base.EN: base
  51. */
  52. char* itoa(int number, char *toString, int base);
  53. /*
  54. CH: 从指定的字符串中读取一个int
  55. EN: Read an integer from given string
  56. fromString.CH: 表示数字的字符串
  57. fromString.EN: String description a number
  58. */
  59. int atoi(char *fromString);
  60. /*
  61. CH: 从指定的字符串中读取一个double
  62. EN: Read an double from given string
  63. fromString.CH: 表示数字的字符串
  64. fromString.EN: String description a number
  65. */
  66. double atof(char *fromString);
  67. /*
  68. CH: 从指定的字符串中读取一个long
  69. EN: Read an long from given string
  70. fromString.CH: 表示数字的字符串
  71. fromString.EN: String description a number
  72. */
  73. long atol(char *fromString);
  74. /*
  75. CH: 从指定的字符串中读取一个long long (64位下等同于atol)
  76. EN: Read an long long from given string (Same with atol on 64-bit platform)
  77. fromString.CH: 表示数字的字符串
  78. fromString.EN: String description a number
  79. */
  80. long atoll(char *fromString);
  81. /*
  82. CH: 表示rand函数可以返回的最大数字
  83. EN: Description the max number of rand() can return
  84. */
  85. int RAND_MAX;
  86. /*
  87. CH: 生成一个[0, RAND_MAX)的随机数
  88. EN: Generate a random number ranged [0, RAND_MAX)
  89. */
  90. int rand();
  91. /*
  92. CH: 使用随机种子生成一个[0, RAND_MAX)的随机数
  93. EN: Use the random seed to generate a random number ranged [0, RAND_MAX)
  94. seed.CH: 随机种子
  95. seed.EN: Random seed
  96. */
  97. void srand(unsigned int seed);
  98. /*
  99. CH: 执行系统终端命令
  100. EN: Execute system terminal command
  101. command.CH: 命令的字符串形式
  102. command.EN: The command string
  103. */
  104. int system(char *command);
  105. /*
  106. CH: 返回参数中最大的那个数
  107. EN: Return the max value of given number
  108. a.CH: 参数1
  109. a.EN: Argument 1
  110. b.CH: 参数2
  111. b.EN: Argument 2
  112. */
  113. long MAX(long a, long b);
  114. /*
  115. CH: 返回参数中最小的那个数
  116. EN: Return the min value of given number
  117. a.CH: 参数1
  118. a.EN: Argument 1
  119. b.CH: 参数2
  120. b.EN: Argument 2
  121. */
  122. long MIN(long a, long b);
  123. /*
  124. CH: 返回参数中最大的那个数
  125. EN: Return the max value of given number
  126. a.CH: 参数1
  127. a.EN: Argument 1
  128. b.CH: 参数2
  129. b.EN: Argument 2
  130. */
  131. long max(long a, long b);
  132. /*
  133. CH: 返回参数中最小的那个数
  134. EN: Return the min value of given number
  135. a.CH: 参数1
  136. a.EN: Argument 1
  137. b.CH: 参数2
  138. b.EN: Argument 2
  139. */
  140. long min(long a, long b);
  141. /*
  142. CH: 返回参数中最大的那个数
  143. EN: Return the max value of given number
  144. a.CH: 参数1
  145. a.EN: Argument 1
  146. b.CH: 参数2
  147. b.EN: Argument 2
  148. */
  149. double maxf(double a, double b);
  150. /*
  151. CH: 返回参数中最小的那个数
  152. EN: Return the min value of given number
  153. a.CH: 参数1
  154. a.EN: Argument 1
  155. b.CH: 参数2
  156. b.EN: Argument 2
  157. */
  158. double minf(double a, double b);