初识C语言——第十三天

关键字2:

static 修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)

static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部可以使用,其他源文件不能使用

注:全局变量,在其他源文件内部可以使用,是因为全局变量具有外部链接属性,但是被static修饰之后,

就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了!

static修饰函数,使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用

【本质上:static是将函数的外部链接属性变成了内部链接属性!】

typedef 类型新定义,可以把复杂类型简单化,例如//typedef unsigned int u_int;

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>typedef 类型新定义,可以把复杂类型简单化
//typedef unsigned int u_int;
张三—小三
//
//int main()
//{
//    unsigned int num = 100;
//    u_int num2 = 100;
//
//
//    return 0;
//}//ststic -静态的
//1.static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)
//2.static修饰全局变量
//3.static修饰函数//void test()
//{
//    static int a = 1; 
//    a++;
//    printf("%d ",a);
//}
//
//int main()
//{
//    int i = 0;
//    while (i < 10)
//    {
//        test();
//        i++;
//    }
//
//    return 0;
//}//声明外部符号的
//extern int g_val;
//
//int main()
//{
//    printf(" %d\n", g_val);
//
//    return 0;
//}//声明函数
extern int Add(int x, int y);int main()
{int a = 10;int b = 20;int sum = Add(a, b);printf("sum=%d\n", sum);return 0;}

常量和宏

#define 定义常量

#define 定义宏;宏是有参数的,参数是替换,宏是完成替换的

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>typedef 类型新定义,可以把复杂类型简单化
//typedef unsigned int u_int;
张三—小三
//
//int main()
//{
//    unsigned int num = 100;
//    u_int num2 = 100;
//
//
//    return 0;
//}//ststic -静态的
//1.static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)
//2.static修饰全局变量
//3.static修饰函数//void test()
//{
//    static int a = 1; 
//    a++;
//    printf("%d ",a);
//}
//
//int main()
//{
//    int i = 0;
//    while (i < 10)
//    {
//        test();
//        i++;
//    }
//
//    return 0;
//}//声明外部符号的
//extern int g_val;
//
//int main()
//{
//    printf(" %d\n", g_val);
//
//    return 0;
//}//声明函数
//extern int Add(int x, int y);
//
//int main()
//{
//    int a = 10;
//    int b = 20;
//    int sum = Add(a, b);
//    printf("sum=%d\n", sum);
//
//    return 0;
//
//}//define 是一个预处理指令
//define定义符号//1.define可以定义常量
//#define MAX 1000//int main()
//{
//    printf("%d\n", MAX);
//    return 0;
//
//}//2.define 定义宏
#define ADD(X,Y) ((X)+(Y)) //X+Y是参数 ADD(X,Y)宏名;X和Y可能是变量,也可能是表达式,
int main()
{printf("%d\n", 4*ADD(2, 3));//2*4+3=11 宏是有参数的,参数是替换,宏是完成替换的return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/7293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Kafka每日一问】Kafka分区分配策略有哪些?

Kafka分区分配策略有哪些 Range分配策略&#xff08;Range&#xff09;&#xff1a; 这是默认的分配策略。在这种策略下&#xff0c;每个消费者负责订阅主题的连续范围内的分区。例如&#xff0c;如果有两个消费者和一个主题有12个分区&#xff0c;那么第一个消费者将负责分区0…

嵌入式交叉编译:x264

下载 Index of /x264/snapshots/ 解压编译 BUILD_DIR${HOME}/build_libsCROSS_NAMEaarch64-mix210-linuxmake clean./configure \--prefix${BUILD_DIR} \--cross-prefix${CROSS_NAME}- \--hostaarch64-linux-gnu \--enable-sharedmake -j16make install 检查 file ${BUILD…

Partisia Blockchain 生态zk跨链DEX上线,加密资产将无缝转移

在 5 月 1 日&#xff0c;由 Partisia Blockchain 与 zkCross 创建合作推出的 Partisia zkCrossDEX 在 Partisia Blockchain 生态正式上线。Partisia zkCrossDEX 是 Partisia Blockchain 上重要的互操作枢纽&#xff0c;其融合了 zkCross 的 zk 技术跨链互操作方案&#xff0c;…

Linux基础知识(升级版)

Linux基础知识&#xff08;常用命令史上最全版&#xff09; 前言 至于为什么重新写Linux笔记&#xff0c;之前作为Java攻城狮&#xff0c;学的太片面&#xff0c;重新整理以前的笔记&#xff0c;打造更好的&#xff0c;学习更高深的技术&#xff0c;挣更多的money常见目录 目…

《华为鸿蒙:从备胎到主角的崛起之路》

华为鸿蒙操作系统的发展历程可以追溯到 2012 年&#xff0c;当时华为开始规划自有操作系统鸿蒙 OS。然而&#xff0c;直到 2019 年 5 月&#xff0c;鸿蒙才正式进入开发阶段。 2019 年 8 月 9 日&#xff0c;华为正式发布了鸿蒙操作系统。 鸿蒙系统的首个版本是于 2019 年推出…

linux上Redis安装使用

环境centOS8 redis是缓存数据库&#xff0c;主要是用于在内存中存储数据&#xff0c;内存的读写很快&#xff0c;加快系统读写数据库的速度 一、Linux 安装 Redis 1. 下载Redis 官网下载Downloads - Redis 历史版本Index of /releases/ 本文中安装的版本为&#xff1a;h…

小红书图片文案编辑生成图文工具

在小红书上&#xff0c;种草图文的变现通常涉及以下几个步骤&#xff1a; 1. **建立影响力**&#xff1a;首先&#xff0c;你需要通过持续发布高质量的内容&#xff0c;积累粉丝和影响力。你的内容应该围绕特定的领域或主题&#xff0c;比如时尚、美妆、美食或旅行&#xff0c…

KUKA机器人KR3 R540维护保养——涂润滑脂

KUKA机器人在保养时少不了润滑脂&#xff0c;不同型号的机器人需要的润滑脂类型也不一样&#xff0c;保养时注意选用合适的润滑脂。本篇文章以KUKA机器人KR3 R540为例&#xff0c;在轴盖板 A2、A3、A5 的内侧涂上润滑脂。 一、涂润滑脂的作用 拆开机器人一个轴的盖板&am…

Docker私有仓库与Harbor部署使用

目录 一、本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ​编辑 3. 运行registry容器 4. Docker容器的重启策略如下 5. 为镜像打标签 6. 上传到私有仓库 7. 列出私有仓库的所有镜像 8. 列出私有仓库的centos镜像有哪些tag 9. 先删…

64位的IP地址设想

现有的IP地址 IPv4有32位&#xff0c;不够用了。 IPv6有128位&#xff0c;相当多。 实际上&#xff0c;23385亿&#xff0c;只要在IPv4的基础上&#xff0c;加1比特就够用了&#xff0c;IPv6有些太长了。 64位的IP地址 这是个设想。 64位分成七段&#xff0c;8888881664&…

近50亿元国资助阵,全球最大量子独角兽登场!

4月30日&#xff0c;澳大利亚与PsiQuantum公司宣布签订一项近10亿澳元&#xff08;约6.2亿美元、47.24亿人民币&#xff09;的协议&#xff0c;旨在建造世界上第一台商业上“有用”的量子计算机。 仅在一天前&#xff0c;澳大利亚还投资了1840万澳元&#xff0c;在悉尼大学成立…

基于springboot+vue+Mysql的点餐平台网站

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

攻防世界-xff-referer

题目信息 分析过程 显示ip必须为123.123.123.123&#xff0c;则进行伪造 解题过程 打开repeator 提示必须来自https://www.google.com&#xff0c;则再次构造Referer 相关知识 x-forwarded-for 和 referer的区别: x-forwarded-for 用来证明ip的像是“127.0.0.1”这种&a…

嵌入式系统应用-拓展-FLASH之操作 SFUD (Serial Flash Universal Driver)之KEIL应用

这里已经假设SFUD代码已经移植到工程下面成功了&#xff0c;如果读者对SFUD移植还不了解。可以参考笔者这篇文章&#xff1a;SFUD (Serial Flash Universal Driver)之KEIL移植 这里主要介绍测试和应用 1 硬件设计 这里采用windbond 的W25Q32这款芯片用于SFUD测试。 W25Q32是…

AHB---独占传输

1.独占传输介绍 AHB5定义了Exclusive_Transfers属性。这个属性定义了一个接口是否支持独占传输的概念。如果这个属性没有定义&#xff0c;那么接口就不支持独占传输。 独占传输提供了一种支持类似semaphore操作的机制。 一个独占访问序列是一个单一master发起的一系列独占传…

pptx 文件版面分析-- python-pptx(python 文档解析提取)

安装 pip install python-pptx -i https://pypi.tuna.tsinghua.edu.cn/simple --ignore-installedpptx 解析代码实现 from pptx import Presentation file_name "rag_pptx/test1.pptx" # 打开.pptx文件 ppt Presentation(file_name) for slide in ppt.slides:#pr…

【notes2】并发,IO,内存

文章目录 1.线程/协程/异步&#xff1a;并发对应硬件资源是cpu&#xff0c;线程是操作系统如何利用cpu资源的一种抽象2.并发&#xff1a;cpu&#xff0c;线程2.1 可见性&#xff1a;volatile2.2 原子性&#xff08;读写原子&#xff09;&#xff1a;AtomicInteger/synchronized…

ubuntu20.04搭建Fabric教程

本章节环境配置 ubuntu: 20.04 go&#xff1a;1.16.3 docker: 20.10.6 docker-compose: 1.27.2 fabric&#xff1a;2.2.0 fabric-ca: 1.4.9 一 搭建通道 新建工作目录 mkdir fabric && cd fabric配置go代理 go env -w GO111MODULEon ​ #更新下载包的镜像 go env …

hadoop学习---sqoop学习记录

在本地数据库创建数据库表&#xff1a; create database sqoop_test default character set utf8; use sqoop_test; CREATE TABLE emp ( EMPNO int(4) NOT NULL, ENAME varchar(10), JOB varchar(9), MGR int(4), HIREDATE date, SAL int(7), COMM int(7), DEPTNO int(2), PRI…

一个简单的仓库出入库管理软件的流程是什么样的?有哪些功能?

身为仓库文员&#xff0c;我深知仓库管理对于公司运营的重要性。仓库是公司物资的中转站&#xff0c;其管理的好坏直接关系到公司的运营效率和成本控制。然而&#xff0c;传统的仓库管理方式往往存在着效率低下、易出错等问题&#xff0c;为了解决这些问题&#xff0c;我们需要…