当我了解到指针的指针char*是指针的操作符,但当我在线查看教程时,我看到人们使用file*.所以我想知道是否有理由使用其中一个.
在C FILE*和char*两个完全不同的东西.
FILE*是一个指向FILE结构的指针,该结构表示用类似的东西打开的文件fopen.有一整套f功能与这些功能相互作用,比如fread和fclose.
char*是一个指向字符的指针,也就是说用C语言表示"字符串"或"缓冲区".该str系列函数处理这些,像strncpy和strcmp和这样.
这些都不是类似的,除了它们都是指针,但鉴于你在谈论C,指针基本上是C哲学并且是无所不在的.
现在C被认为是强类型语言,这意味着任何给定的函数对参数和返回类型都有非常具体的期望.如果您尝试提供FILE*指向函数的指针,则期望char*您收到编译错误.它们不兼容,不可互换.