提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
全局变量 局部变量
一、全局变量 局部变量
示例:全局:就是整个工程,所有的程序块都能用的
局部:就是只能在某个花括弧里面起作用
int a;
extern int b;
int main()
{
int c;
{
int d;
}
}
全局变量 a,b
局部变量c,d
虽然c是在 main 里面,但是他只能在main的花括号里面用,所以也是局部变量。
别的.C文件里,定义的b 变量,只要在同一个工程里,也是可以用在这个.c文件里的,所以也是全局变量。
全局变量和局部变量的名字冲突时,局部变量优先。
二、数的长度
sizeof(char);
sizeof(short);
sizeof(int);
sizeof(long);
sizeof(long long);
sizeof(float)
sizeof(double);
1;
2;
4;
4;
8;
4;
8;
char 占 1个byte 就是8位 0~255
short 占 2个byte 就是16位 0~65535
int 占4个byte 就是32位 -2147483648~2147483647
long 占4个byte 就是32位 -2147483648~2147483647
long long 占8个byte 就是64位 -9223372036854775808~9223372036854775807
float 占4个字节-3.410^38 ~ 3.410^38
1.然后是一些代码的知识
printf(“%d %f %c %x %o %2f ”,a,b,c,d,e,f);
scanf ("%d %f",&a,&b);
看到这些代码,就知道意思了,就不详细解释了,以前在PLC 编程里用到过的数据类型,这个还很简单的。
2.关于float的量
一直没有搞懂浮点数在计算机里是怎么存储的,多少个有效位,然后后面多少个浮点数。
比如2.3456789098776543*10^20 这个数精度太高了,肯定不能存到浮点数里。那么浮点数怎么存在计算机里呢?
而且精度和位数分别是怎么存储的呢?是固定后面有多少个位数,还是怎么样?
然后我找到一篇文章还不错,应该看得明白吧。
https://blog.csdn.net/albertsh/article/details/92385277
3.关于常量
不变的量就是常量
1、字面常量 (3 4 5 6 )
2、const 修饰的常变量 (const int num = 8; 然后不能修改了。常属性变量)
int n =100;
a[n]={10};
这样定义数组不行,是因为数组的个数要明确。
数组里面的量不能是变量,用const 修饰的也不行,const只是让变量具有常属性,而n 仍然是变量。
const int n = 8;
n = 8;
因为用const 修饰了n 。那么如果还给n赋值 别的值就会报错,就算是同样的值也不行。相当于现在n变成了只读的了。
3、#define 定义的标识符常量
#define MAX 10
int main()
{
int a[MAX]={0};
}
这样的定义是可以的,也就是#define 就是替换的意思,在编译的时候,用10 替换MAX 这个MAX 更像一个助记符一样。那么如果对MAX进行赋值的操作都会报错:
#include <stdio.h>
#define MAX 10
int main()
{
MAX = 5;
printf("%d",MAX);
}
4、枚举型常量(也不能更改。)
enum day
{
MONDAY,
TUSDAY,
WENDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
};
int main()
{
printf("%d\n",MONDAY);
}
打印输出的结果是 0;
这个markdown里面改变字体颜色真好玩。
总结
好吧,这就是今天学的知识点,应该说是复习的知识点,是不是有点慢了?