【406】C语言相关函数

<stdlib.h>(1) <stdlib.h>(2)

malloc():用来动态地分配内存空间,分配成功返回指向该内存的地址,失败则返回 NULL。

  • 前面的 (int*) 或者 (char*) 表明数据类型
//不出现方括号
//将字符串复制到 str_start
char *str_start = malloc(sizeof(char)*1024);
strcpy(str_start, "9 12 5  4 2  b 7    11 3 6 10 13  14  1 8 15 ");

realloc():重新分配内存空间

atoi():把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。

  • 如果参数不是可转化的数字,则会转为0。
  • atoi("b") = 0

itoa():将整型值转换为字符串。(只在 Windows 下,不在 Linux 下,后者使用 sprintf)

 

<stdio.h>

scanf():从标准输入 stdin 读取格式化输入。

  • 可以输入数字,字符串,字符等
  • &a、&b、&c 中的 & 是地址运算符,分别获得这三个变量的内存地址。
  • %d%d%d 是按十进值格式输入三个数值。输入时,在两个数据之间可以用一个或多个空格、tab 键、回车键分隔。
  • 在用 %c 输入时,空格和"转义字符"均作为有效字符。

gets():C 库函数 char *gets(char *str) 从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。当读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。

 

<string.h>

strtok():C 库函数 char *strtok(char *str, const char *delim) 分解字符串 str 为一组字符串,delim 为分隔符。

strcmp():C 库函数 int strcmp(const char *str1, const char *str2)str1 所指向的字符串和 str2 所指向的字符串进行比较。

  • 通过 == 来判断的话,是需要地址也一致的
  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str2 小于 str1。
  • 如果返回值 = 0,则表示 str1 等于 str2。

strcpy():C 库函数 char *strcpy(char *dest, const char *src)src 所指向的字符串复制到 dest

  • 该函数返回一个指向最终的目标字符串 dest 的指针。

不出现数组形式的字符串:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
 
int main() {
   char *str = malloc(sizeof(char) * 100);
   strcpy(str, "9  12 5  4c 2  b 7     11 3 6 10 13  14   1 8 15 ");
   //char str[100] = "lsdkjflsdjflsdjflkdsjfkl";
   //printf("%s", str);
   printf("%s\n", str);
   return 0;
}

 

<math.h>

ceil():C 库函数 double ceil(double x) 返回大于或等于 x 的最小的整数值。返回值为 double。

 

上一篇:PHP和Redis实现在高并发下的抢购及秒杀功能示例详解


下一篇:springboot整合es客户端操作elasticsearch(四)