首页 > 其他分享 >static 在c语言中的价值

static 在c语言中的价值

时间:2024-06-06 09:32:47浏览次数:21  
标签:include return 语言 int static printf fun 价值

1.概要

static 在c语言中的价值。
static 还有一个在文件内部使用有效的限制。如果在函数的外部,被static修饰的变量或者函数,是不可以在文件外部访问的,也就是说不同的文件中,被static修饰的函数或者变量是可以重名的。

static的这个特性,在c++中显得有些鸡肋,但在c中的价值却很大,几乎起到了文件隔离的作用。

2.代码

2.1 Main.c

#include <stdio.h>
#include "A.h"
#include "B.h"



int main() {
	int a = fun_a(4);
	printf("fun_a:%d\n", a);
	int b = fun_b(4);
	printf("fun_b:%d\n", b);
	printf("hello word");

2.2.1 A.h

#pragma once

int fun_a(int a);

 2.2.2 A.c

static int fun(int a);

int fun_a(int a) {
	return fun(a);
}

static int fun(int a) {
	return a + a;
}

 2.3.1 B.h

#pragma once

int fun_b(int a);

 2.3.2 B.c

static int fun(int a);

int fun_b(int a) {
	return fun(a);
}

static int fun(int a) {
	return a + a + a;
}

3.运行结果

fun_a:8
fun_b:12
hello word

标签:include,return,语言,int,static,printf,fun,价值
From: https://blog.csdn.net/xie__jin__cheng/article/details/139478115

相关文章

  • TCP通信——基于C语言连接
    设计两个程序分别作为服务器和客户端,互相进行连接服务器/*************************************************************************************************************************** filename: tcp_server.c* author :Dazz* date :2024/6/5* functio......
  • 完全指南:C语言学习资源汇总
    C语言是编程学习的基石,无论是为了职业发展还是个人兴趣,掌握C语言都是技术生涯的重要一步。为了帮助初学者和有经验的程序员更好地学习和深化对C语言的理解,我们汇总了一系列优秀的书籍和在线资源。这些资源将帮助你从基础知识到高级概念,全面掌握C语言。推荐书籍1.《C语言入门......
  • C语言数据结构实现-单链表表基本操作
    链表插入元素同顺序表一样,向链表中增添元素,根据添加位置不同,可分为以下3种情况:插入到链表的头部(头节点之后),作为首元节点;插入到链表中间的某个位置;插入到链表的最末端,作为链表中最后一个数据元素;虽然新元素的插入位置不固定,但是链表插入元素的思想是固定的,只需做以下两步操......
  • 基于调用C语言作为reference_model的UVM对全加器的验证
    代码来自于,本篇文章只对其中的细节做探讨UVM的基本教程-CSDN博客首先DUT为加法器,但是舒服不仅是加数和被加数,还有ready和valid,输出也不止是和,还有valid和ready。valid代表数据有效,ready表示已经准备好发送或者接收。加法器的设计语言中,共有三个状态,INITIAL/WAIT/SEND,rst为1......
  • Prophet在R语言中进行时间序列数据预测
    原文链接:http://tecdat.cn/?p=7327原文出处:拓端数据部落公众号 您将学习如何使用Prophet(在R中)解决一个常见问题:预测公司明年的每日订单。  数据准备与探索Prophet最适合每日数据以及至少一年的历史数据。我们将使用SQL处理每天要预测的数据:  `select``date,......
  • 基于c语言的UDP客户端、服务端二合一基础代码
    基于c语言的UDP客户端、服务端二合一基础代码示意图:准备好了吗,以下是基础代码:/****************************************************************************************************************************************字节序:数据以字节流的方式进行传输,底层都是......
  • 基于c语言的TCP客户端、服务端基础代码
    基于c语言的TCP客户端、服务端基础代码基本流程:客户端:#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<stdio.h>#include<errno.h>#include<sys/socket.h>#include<netinet/in.h>#include<netinet/......
  • 初识C语言(03)—学习笔记
    常见关键字C语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字的。归类下面是按照关键字的用途不同进行的归类变量的命名规则有意义,例如intage;floatsalary;等名字必须是字母、数字、下划线组成,不能有特殊字符,同时不能以数字......
  • C语言排序
    一、排序的运用生活中排序随处可见,比如我们高考时的排名,大学学校水平的排名等,打开京东,可以发现每样商品按照不同的方式排序,比如综合,销量,价格。其内部需要排序代码来完成。二、常见的排序算法一、交换排序一、冒泡排序冒泡排序是一种最容易想到的排序,但是其效率不高,没有实......
  • Java1.8语言+ springboot +mysql + Thymeleaf 全套家政上门服务平台app小程序源码
    Java1.8语言+springboot+mysql +Thymeleaf 全套家政上门服务平台app小程序源码家政系统是一套可以提供上门家政、上门维修、上门洗车、上门搬家等服务为一体的家政平台解决方案。它能够与微信对接、拥有用户端小程序,并提供师傅端app,可以帮助创业者在不需要相关技术人员及......