c语言的常量在执行期间为固定值,在定义后无法被修改
常量可以是任何的数据基本类型,可以为整形,浮点常量,字符和字符串常量
1,使用const关键字
2, 使用宏定义
3,使用枚举常量

枚举:

 #include<stdio.h>
int main(){
enum sex{
male,
female,
unknown,
};
printf("%d\n%d\n%d\n", male, female, unknown);
return ;
}

宏定义:

 #define i 5

const关键字修饰的常量不可被再修改,例如:

 const int i=6;

在vs同一个工程下建立两个.c格式的文件:

在第一个.c文件下写:

 static int g_val = ;

在第二个.c文件下写上

 #include <stdio.h>
#include<stdlib.h>
extern int g_val; int main(){
/*int g_val = 30;*/ printf("%d\n", g_val);
system("pause");
return ;
}

运行结果如下:

当去掉第一个程序的static时候:

 int g_val = ;

再次运行第二个程序显示编译成功。

这是因为:

 static作用于同一个工程中2.c文件内的int g_val;使之从全局变量变为了局部变量,从而在1.c文件中编译器无法打印出g_val
另外在同一个工程中的不同的.c文件中如果需要引用另一个.c中的变量,需要使用extern在进入主要函数之前
c语言static的作用:
1,修饰局部变量,改变变量的生命周期,变成了整个程序;
2,修饰全局变量,改变变量的作用域,变成了当前文件;
3,修饰全局函数,改变函数的作用域,变成了当前文件
好处:
防止一个工程下成百上千个文件难免有对同一个变量的相同命名,只作用于当前文件,保证了程序的安全性。

常量的三种定义方式和static在c语言中的三种修饰的更多相关文章

  1. 六十四、SAP中的内表的9种定义方式

    一.内表一共有9种定义方式,如下: 二.执行如下 *&--------------------------------------------------------------------- ...

  2. C语言_了解一下C语言中的四种存储类别

    C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. C语言中的四种存储类别:auto ...

  3. R语言中的几种数据结构

    R语言中的几种数据结构 一  R中对象的5种基本类型 字符(character) 整数 (integer) 复数(complex) 逻辑(logical:True/False) 数值(numeric: ...

  4. C语言中的三字母词

    C语言中的三字母词(trigraph) 在ANSI C标准中,定义了9个三字母词(trigraph),三字母词就是几个字符的序列,合起来表示另一个字符.三字母词使C语言环境可以在缺少一些必需字符的字符 ...

  5. 第十篇----------javascript函数的三种定义方式及区别

    javascript定义函数有3种方式: //3种函数定义方式,前两种常用 /** * 1,function 语句式 * 形式:句子 * 名称:有名 * 性质:静态 * 解析时机:优先解析 * 作用域 ...

  6. 浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序

    在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Li ...

  7. PHP字符串三种定义方式

    PHP的字符串有三种定义方式:单引号 .双引号 .定界符  1.单引号:指定一个简单字符串的最简单的方法是用单引号(字符 ')括起来. 在被单引号括起来的字符串中,要再表示一个单引号,需要用反斜线(\ ...

  8. Objective-C枚举的几种定义方式与使用

    假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...

  9. 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组

    软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...

随机推荐

  1. QT的文件查找

    https://blog.csdn.net/hustyangju/article/details/17784007 http://www.cppblog.com/biao/archive/2011/1 ...

  2. 根据操作系统进程号,查找sql语句

    有时需要根据操作系统编号查找正在执行的sql语句:select sess.username,sql1.SQL_TEXTfrom v$session sess,v$sqltext sql1,v$proc ...

  3. 重大漏洞!PHP multipart/form-data头部解析远程拒绝服务漏洞

    "有些人看不懂,简单比喻来说吧:目前刚出的任何安全防护都不会拦,网站类专属漏洞 畸形数据包,2KB随机数据包,2M网速打死各种网站,cdn通挂!"PHP multipart/for ...

  4. win10 x64 注册ZQDeviceOcx.ocx控件

    正常的方式在32位系统下可行, 但是在64位系统下是不可行的. 在64位系统中正确的注册步骤是: 1. 将对应的ocx和dll放到C:\Windows\SysWOW64目录下. 2. 然后找到C:\W ...

  5. PowerDNS简单教程(3):管理篇

    目录: PowerDNS简单教程(1):安装篇 http://www.cnblogs.com/anpengapple/p/5205130.html PowerDNS简单教程(2):功能篇 http:/ ...

  6. UVa 1636 - Headshot(概率)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. java根据数据库自动生成代码

    出现这个已经创建成功 出现这个情况,没有使用DBUtil,引入即可 已经创建完成 代码下载:https://github.com/weibanggang/tool 项目实例下载:https://pan ...

  8. VS2013 类向导 "异常来自 HRESULT:0x8CE0000B" 解决方法

    转自 http://blog.csdn.net/skyloveyue/article/details/52105912 我用使用了第二种方法: 改变项目的位置 将项目从原来D盘的位置(D:\proje ...

  9. Faster Alternatives to glReadPixels and glTexImage2D in OpenGL ES

    In the development of Shou, I’ve been using GLSL with NEON to manipulate image rotation, scaling and ...

  10. kakfa 开发-01

    kafka 开发梳理 使用内置的zoookeeper启动 bin/zookeeper-server-start.sh config/zookeeper.properties tips: 出现0.0.0 ...