开发者社区> 问答> 正文

C语言中的静态函数是怎么调用的(例如 下面stack.cpp 最后里面的Stackincrease_H函数)

screenshot

#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
//

展开
收起
a123456678 2016-06-07 18:10:18 2411 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista

    因为用static修饰了Stackincrease_H,所以它的linkage是internal,所以只能在它所在的编译单元中能访问到,也就是只能在STACK_Structure.cpp中访问它!

    2019-07-17 19:30:37
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多