0x3f3f3f3f是1061109567
#include<limits.h>;
INT_MAX为 2^31-1 ,即 2147483647 ;
INT_MIN为 -2^31 , 即 2147483648 ;
关于strtok 函数
include<string.h>
函数原型char *strtok(char *str, const char *m) , m -- 包含分隔符的 C 字符串。
该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。
把第一个参数设为NULL;就会接着上次没有拆完的继续拆
C 库函数 - strcat()
C 库函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。
下面是 strcat() 函数的声明。
char *strcat(char *dest, const char *src)
- dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
- src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。
该函数返回一个指向最终的目标字符串 dest 的指针。
C 库函数 - strncat()
C 库函数 char *strncat(char *dest, const char *src, size_t n) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。
下面是 strncat() 函数的声明。
char *strncat(char *dest, const char *src, size_t n)
- dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串,包括额外的空字符。
- src -- 要追加的字符串。
- n -- 要追加的最大字符数。
该函数返回一个指向最终的目标字符串 dest 的指针。
使用strcat 函数时应该注意以下几点:
1.要保证第一个字符串数组要有足够的位置承接第二个字符串
2.就是下面这种情况,为什么不是我们想要的结果呢?因为使用了两次 strcat 函数
而且ptr 和 ch 指向同一片区域所以一动都动。
C 库函数 - calloc()
C 库函数 void *calloc(size_t nitems, size_t size) 分配所需的内存空间,并返回一个指向它的指针。malloc 和 calloc 之间的不同点是,malloc 不会设置内存为零,而 calloc 会设置分配的内存为零。
注意:calloc() 函数将分配的内存全部初始化为零。如果不需要初始化,可以使用 malloc() 函数代替。另外,使用 calloc() 函数时需要注意,如果分配的内存块过大,可能会导致内存不足的问题。
下面是 calloc() 函数的声明。
void *calloc(size_t nitems, size_t size)
- nitems -- 要被分配的元素个数。
- size -- 元素的大小。
该函数返回一个指针,指向已分配的内存。如果请求失败,则返回 NULL。