c语言省二知识点,c语言二级知识点总结
第一篇前言。进阶篇1.1指针1.2报价左值报价c 11特点:右值报价2。重点2.1指针和引号的共同点和区别2.1.1共同点1。指针和引号都可以用作形式参数来改变实际参数的值。2.1.2区别1。定义不同2。指针可以有多个级别,引用只能有一个级别3。指针可以定义时不初始化,引用必须定义时必须初始化4。指针可以指向NULL,引用不能为NULL 5。指针可以在初始化后改变。不能引用。6.sizeof的运算结果不一样。7.自增运算的意义不一样。8.当指针和引用被用作函数参数时,需要检查指针是否为空。参考2.2主函数之前不需要做什么。3.困难。1内存管理。1.1 RAII资源机制。3.1.2垃圾收集机制。4.工作建议。1.刚到新岗位,多交流,不要无聊。2.尽快熟悉,对自己有明确的工作安排。前言感谢以上作者,以下内容都是结合自己的一些理解。
一、高级篇1.1指针定义:值是地址,指向内存。
1.2参考左值参考
定义:变量的别名,在初始化时定义。
左值引用实际上和汇编级的普通指针是一样的。
int a=10
int b=a;//定义一个左值引用变量
b=20//通过左值引用修改引用内存的值。c 11特点:右值引用C对于左值和右值没有标准的定义,但是有一个广为接受的说法:
可以取地址,名字,非临时是左值;不能带地址,没有名字,临时才是对的值;
不能带地址,没有名字,临时才是对的值。
Type name=右值表达式;
int var=10
右值引用的存在并不是为了取代左值引用,而是为了充分利用右值(尤其是临时对象)的构造来减少对象构造和销毁的操作,以达到提高效率的目的。
二。要点2.1指针和引用的共同点和区别2.1.1共同点1。指针和引用都可以用作形式参数来改变实际参数的值。举个例子
void函数(Object *pObj)
等于
void函数(对象对象)
2.1.2区别1。不同的定义
指针是一个存储地址的变量,指向内存中的存储位置。
它指的是原变量的别名,本质上和原变量是一回事。
2.指针可以有多级,引用只能有一级。
有趣的是,N级指针的效果等于n-1级指针。
例如:
void Func(Object * * * PP BoJ);
等于
void Func(Object * * PP robj);3.当一个指针可以被定义时,它不会被初始化;当一个引用必须被定义时,它将被初始化;4.指针可以指向NULL5.指针初始化后,可以更改;6.如果sizeof的计算结果不同,将返回指针的sizeof;
返回引用的原始类型大小。
int a=996
int * p=a;
int r=a;
cout sizeof(p);//返回int*类型的大小
cout sizeof(r);//返回int类型的大小。7.自动递增操作的含义是不同的。8.当指针和引用作为函数参数时,指针需要检查是否为空,引用不需要2.2在主函数之前做什么?1.设置堆栈指针;
2.初始化静态和全局变量,即数据段的内容;
3.设置未初始化部分的初始值:numerical short,int,long等。均为0,bool为FALSE,指针为NULL;
4.传递主函数的参数,argc,argv等。在实际运行主函数之前。
比如Windows平台根据编码格式Unicode或者多字节确定XXXCRTStartup函数然后调用main。
参考我的windows核心编程主函数的生命周期。
三。难度3.1内存管理3.1.1 RAII资源机制3.1.2 GC垃圾收集机制四。工作建议1。刚到新的岗位,多沟通,不要默默工作。2.尽快熟悉,对自己有明确的工作安排。
二次元怪兽原创作品,博主,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。