C语言:变量和常量
这是很基础的教程,我只是写给自己看,作为一个学习笔记记录一下,如果正在阅读的你觉得简单,请不要批评,可以关掉选择离开
如何学好一门编程语言
- 掌握基础知识,为将来进一步学习打下良好的基础。
- 上机实践,通过大量的例题学习怎么设计算法,培养解题思路。
- 养成良好的编码习惯,注释一定要写,要不然保你一周后自己写的代码都不认识了。
变量:在程序执行过程分钟其值可以改变的量
常量:在程序执行过程中不会改变的量
变量的名称可以由字母、数字和下划线字符组成。且必须以字母或下划线开头;C语言区分大小写
变量声明
指定变量的类型和名称
在使用变量之前,首先要对变量进行声明。C语言中使用变量需要事先声明变量的存在。声明变量的时候可以同时为该变量指定初始值,对变量进行初始化。在执行过程中可以通过赋值改变变量中存储的值。
变量的声明: 变量类型 变量名
//变量声明并定义 int i, j, k;
变量声明和初始化:变量类型 变量名=赋值
//变量声明和初始化 int d = 3, f = 5; // 定义并初始化 d 和 f
使用 extern 只声明但是不定义,在其他文件中定义,但在本文件中使用。
extern int i; // i变量可以在其他文件中定义
当您有多个文件且定义了一个可以在其他文件中使用的全局变量或函数时,可以在其他文件中使用 extern 来得到已定义的变量或函数的引用。
main.c
#include <stdio.h> int count ; // 全局变量声明 extern void write_extern(); // 外部变量声明 int main() { count = 5; write_extern(); }
support.c
#include <stdio.h> extern int count; // 外部变量声明 void write_extern(void) { printf("count is %d\n", count); }
常量
整数常量
带后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。
带前缀,0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
浮点常量:浮点常量由整数部分、小数点、小数部分和指数部分组成。
3.14159 /* 合法的 */ 314159E-5L /* 合法的 */
字符常量:包括在单引号中,'X'
字符串常量:包括在双引号中,"hello, dear"
定义常量
请注意,把常量定义为大写字母形式,是一个很好的编程习惯。
1、使用 #define 预定义,
#include <stdio.h> #define LENGTH 10 #define WIDTH 5 int main() { int area; area = LENGTH * WIDTH; printf("value of area : %d", area); // 50 return 0; }
2、使用 const 关键字
#include <stdio.h> int main(){ const int LENGTH = 10; const int WIDTH = 5; int area; area = LENGTH * WIDTH; printf("value of area : %d", area); // 50 return 0; }
C语言中声明、定义和初始化的区别
函数和变量都有声明和定义,变量或函数可以先声明,然后就可以使用了,变量或函数可以在之后进行定义和初始化
函数声明定义
函数类型 函数名(); 函数声明
函数类型 函数名() { ... } 函数定义
同一文件内,函数fun_1调用fun_2时,如果fun_2在fun_1之后定义,则需在fun_1之前对fun_2进行声明,如下:
void fun_2();// 声明 void fun_1() { fun_2(); // 调用fun_2 } void fun_2() { ... } // 定义
如果fun_2在fun_1之前就定义了的话,则可以直接使用。但还是建议先声明再使用,把定义写在后面。
变量声明定义
extern 变量类型 变量名; 就是只声明不定义,在外部定义
变量类型 变量名; 变量声明
变量类型 变量名=值; 变量声明和初始化
在使用之前必须声明。
#include <stdio.h> // 同一文件内的情况: extern int b; // 声明但不定义 int main(){ printf("b = %d\n", b); // b = 3 } int b = 3; // 定义和初始化
参考
【CSCD博文】C语言中声明、定义和初始化的区别
相关文章
- IPv6地址表示方法
- Ubuntu 网络配置方法
- TCP/IP的Internet层
- TCP/IP 协议栈
- Ubuntu的软件管理
- centos8 编译安装 httpd-2.4
- shell 流程控制语句
- 正则表达式(REGEXP)
- 文本处理工具-vim编辑器的常见用法
- 计算机基础知识
- 操作系统相关内容
- centos7.6部署DRBD提示“no resources defined!
- 面试题 01.01. 判定字符是否唯一
- 面试题 16.11. 跳水板
- 面试题 08.05. 递归乘法
- 面试题 08.06. 汉诺塔问题
- 面试题 16.01. 交换数字
- 面试题 05.03. 翻转数位
- 面试题 05.06. 整数转换
- 762. 二进制表示中质数个计算置位