为什么要有#include <string.h>?
不明白这个意思,如果没有它会怎样?什么时候需要有这个?
不明白这个意思,如果没有它会怎样?什么时候需要有这个?
2015-04-23
string.h 是个“头文件”,其中包含了字符串处理函数的声明。
C语言中的变量和函数都需要先声明(定义)再使用。你在使用自己的函数或变量之前不是也要先定义它们吗,定义本身就是声明。而对于使用系统函数或库函数,也需要先把含有它们声明的文件“包含”进来。这些文件通常在系统的指定目录中,你的编译器(预处理器)会自动找到它们。
#include 是一个预处理指示符,C源码在被编译器编译前会先交由预处理器处理,预处理器就会把 #include <string.h> 替换成string.h文件中的内容,这样这些字符串处理函数的声明就含在源代码中了,编译器才能顺利编译。没有这些声明的话,编译时通常会报“找不到strcmp函数定义...”这样的错误。
举报