声明:作为这个系列的开篇,第一篇更多的只是先介绍个概述,xdm莫慌,加油学!


文章目录

      • 1.负数在计算机中是以补码表示的,那为什么呢?
      • 2.各类存储速度从下往上访问速度提高
      • 3.static修饰局部变量,延长生命周期,具体见如下程序段:
      • 4.static修饰全部变量(或者函数),改变了作用域(或者说改变了外部链接属性),让静态的全局变量只能在自己的源文件内部使用,外部文件用extern就无法调用了,会提示无法解析外部符号,具体见如下程序段:
      • 5.电脑32位/64位代表地址线,一个地址放一个字节byte,(1byte=8bit、1kb=1024byte、mb、gb、tb、pb都是1024倍数)
      • 6.int\*p ,定义时用到仅仅是定义类型
      • 7.指针大小具体多少看地址,在32位里边是4byte,因为32位一个地址需要的内存就是32bit=4byte。(64位就是8byte)
      • 8.结构体操作符
      • 9.输出什么都没有,注意细节。
      • 10.感受一下,左边for打印1234678910,右边while这,1234后会死循环
      • 11.for循环
      • 12.0为假,循环0次
      • 13.比较字符串不能直接比较,要用库函数strcmp
      • 14.结构体的创建和初始化
      • 15.补充ASCII表



1.负数在计算机中是以补码表示的,那为什么呢?

因为在有模的计量系统中,减一个数等于加上它的补数,从而实现将减法运算转化为加法运算的目的。(类似时钟调节时间,可以加也可以减)
只要是整数,在内存中存储的都是其补码。正数的补码、源码、反码都一样,负数要算下,源码取反(符号位不要取反)得到反码,然后反码+1得到补码。



2.各类存储速度从下往上访问速度提高



3.static修饰局部变量,延长生命周期,具体见如下程序段:

//作用域和生命周期
// 
// 作用域
//局部变量的作用域:就是变量所在的局部范围
//全局变量的作用域:整个工程
//
//
//int g_val = 2021;//全局变量
//
//int main()
//{
//	printf("1:%d\n", g_val);
//	printf("hehe\n");
//	{
//		printf("2:%d\n", g_val);
//
//		int a = 10;
//		printf("a = %d\n", a);
//	}
//	printf("3:%d\n", g_val);
//
//	return 0;
//}
//

//声明一下变量
//extern int g_val;
//
//int main()
//{
//	printf("%d\n", g_val);
//
//	return 0;
//}

//生命周期
//变量的生命周期:变量的创建和销毁之间的时间段
//
//局部变量的生命周期:进入局部范围生命开始,出局部范围生命结束
//全局变量的生命周期:程序的生命周期

第一段这样结果是23456(a没有销毁)

第二段这样是22222(每次a都销毁了)



4.static修饰全部变量(或者函数),改变了作用域(或者说改变了外部链接属性),让静态的全局变量只能在自己的源文件内部使用,外部文件用extern就无法调用了,会提示无法解析外部符号,具体见如下程序段:




5.电脑32位/64位代表地址线,一个地址放一个字节byte,(1byte=8bit、1kb=1024byte、mb、gb、tb、pb都是1024倍数)




6.int*p ,定义时用到仅仅是定义类型



7.指针大小具体多少看地址,在32位里边是4byte,因为32位一个地址需要的内存就是32bit=4byte。(64位就是8byte)

这个输出全是4就是这个道理。



8.结构体操作符



9.输出什么都没有,注意细节。



10.感受一下,左边for打印1234678910,右边while这,1234后会死循环



11.for循环

在内部改变变量容易死循环

前闭后开写法更有助于理解



12.0为假,循环0次



13.比较字符串不能直接比较,要用库函数strcmp



14.结构体的创建和初始化



15.补充ASCII表

更多推荐

初识C语言【零基础搞定C语言——1】