我们需要从其头文件导入的方法的函数原型的原因
The reason why we need a function prototype for methods that is imported from its header file
我目前正在研究K&R的指针
在第 109 页中,作者声明了方法的函数原型
int getline(char *, int);
char *alloc(int);
甚至之后,源文件在开头导入他们的标准库。
#include<stdio.h>
#include<string.h>
他们的声明不是在他们的头文件中完成的吗?作者在自己的头文件中已经声明了这些方法的函数原型是什么原因?
2010 年左右(本书成书很久之后)引入了 getline 函数,但它与您提到的函数不同。库函数的原型是:
size_t getline (char ** __lineptr, size_t * __n, FILE * __stream) ;
C中也没有alloc
,内存分配有3个名字相似的库函数
void *malloc(size_t n);
void *calloc(size_t n, size_t size
void *realloc(void *p, size_t size)
我相信您会在 K&R 的库中找到上述功能。
所以K&R不得不声明getline
和alloc
函数的原型并实现它们。
我目前正在研究K&R的指针
在第 109 页中,作者声明了方法的函数原型
int getline(char *, int);
char *alloc(int);
甚至之后,源文件在开头导入他们的标准库。
#include<stdio.h>
#include<string.h>
他们的声明不是在他们的头文件中完成的吗?作者在自己的头文件中已经声明了这些方法的函数原型是什么原因?
2010 年左右(本书成书很久之后)引入了 getline 函数,但它与您提到的函数不同。库函数的原型是:
size_t getline (char ** __lineptr, size_t * __n, FILE * __stream) ;
C中也没有alloc
,内存分配有3个名字相似的库函数
void *malloc(size_t n);
void *calloc(size_t n, size_t size
void *realloc(void *p, size_t size)
我相信您会在 K&R 的库中找到上述功能。
所以K&R不得不声明getline
和alloc
函数的原型并实现它们。