library.h:
#ifndef LIBRARY_H
#define LIBRARY_H
int net_price(int price, int discount);
static int validate(int n);
#endif
driver.c:
#include "library.h"
int main(void) {
int i, j;
i = validate(-5);
j = net_price(6, 2);
}
library.c:
#include "library.h"
int net_price(int price, int discount) {
return validate(price - discount);
}
static int validate(int n) {
if (n < 0)
return 0;
else
return n;
}
可以编译,但无法链接,因为 validate 函数具有内部链接性,无法在 driver.c 中访问。