C语言中的静态函数是怎么调用的(例如 下面stack.cpp 最后里面的Stackincrease_H函数)
h 文件声明如下
////
#ifndef _STACK_H
#define _STACK_H
//
// 定义栈的通用类型 数据结构
// 使用线性表的存储结构思想,在数据模型中记录存储容量,和数据实际存储容量
#define STACKSTORAGE 100 //栈的存储容量
#define TIMES 2 //栈的扩充容量
typedef struct {
void *elems; //栈模型的堆区存储结构数据地址
int stack_h; //数据栈的存储容量
int virStack_h; //数据栈的实际存储容量
int elemSize; //单位数据类型所占的空间
}Stack;
// 初始化栈数据模型
// 销毁栈数据模型
void initialStack(Stack *S,int elemSize);
void disposeStack(Stack *S);
// 入栈操作函数
// 出栈操作函数
void StackPush(Stack *S,void *elem_addr_ptr);
void StackPop(Stack *S,void *elem_addr_ptr);
// 判断栈数据模型是否为空
int Stack_not_empty(Stack *S);
// 增加数据栈模型容量
static void Stackincrease_H(Stack *S);
#endif
//
回答:
因为用static
修饰了Stackincrease_H
,所以它的linkage是internal,所以只能在它所在的编译单元中能访问到,也就是只能在STACK_Structure.cpp
中访问它!
以上是 C语言中的静态函数是怎么调用的(例如 下面stack.cpp 最后里面的Stackincrease_H函数) 的全部内容, 来源链接: utcz.com/p/195057.html