- 主页 > 生活百科 > >
Debug和Release版本比较
- Debug附加了许多调试信息,主要用于调试,故文件大;
- Release是经过优化后的版本,去掉了调试信息,代码进行了优化,故文件较小,且编译速度快过Debug,用于发布平台的配置管理器的设置;
32位与64位
- 32位,地址为32位,最大使用内存4G,只能运行32位的数据;
- 64位,地址为64位,既可以运行32位的数据,也可以运行64位的数据;
指针
- 指针是个量,对应一块内存区域;
- 指针存储的是某个内存单元的地址;
- 访问方式:
- 1、直接访问:按变量地址存取变量值,取地址符&;
- 2、间接访问:通过存放变量地址的变量去访问变量,间接运算符*;
- 在函数中改变一个外部变量,需要变量的地址;
- 若是数据,需要指向数据的指针存储数据的地址;
- 若是指针,需要指向指针的指针存用户指针的地址;
【C语言知识点总结篇】数组与指针
- p[i]等价于*(p+i),&p[i]等价于p+i;
- a[i][j]等价于*(*(a+i)+j),&a[i][j]等价于*(a+i)+j,a[i]等价于*(a+i);
- 行数组指针定义方法:数据类型(*指针变量名)[二维数组列数];
- 二维数组地址不可变化,数据可以变化,可以在不修改地址的情况下管理数据,指针数组指向的数据不可变化,但地址可以变化,在不修改数据的情况下查看数据;
- 三维数组与指针,A[i][j][k]的三种表达形式:*(A[i][j]+k)、*(*(A[i]+j)+k)、*(*(*(A+i)+j)+k);
函数与指针
- 若在程序中定义了一个函数,在编译时,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址,称为这个函数的指针,int(*p)(int, int),代表定义p是指向函数的指针变量,可以指向类型为整形且有两个整形参数的函数;
- 定义返回值为指针值的函数的一般形式:类型名 *函数名(参数列表);
malloc和free函数
- 动态内存分配,无法知道内存具体位置时,想要绑定真正的内存空间,则要用到动态分配内存,原型为extern void* malloc(unsigned int size),空指针可以转换为任何类型的指针,size仅仅是申请字节的大小,并不管申请的内存块中存储的数据类型,故申请内存的长度需通过“长度 x sizeof(类型)”的方式给出,使用完之后要用free释放内存;
- 一个类型的指针包含三个信息:地址、步长、内容如何解析;
- 在栈区开辟一段内存,系统会自己回收,在堆区开辟一段内存,需要手动用free释放;
calloc和realloc函数
- calloc原型:void* calloc(unsigned int num,unsigned int size),num:对象个数,size:对象占据的内存字节数,功能是为已经分配的内存重新分配空间并复制内容,会自动将内存初始化为0;
- realloc原型:void
推荐阅读
-
-
|职场类搞笑动画《冰属性男子与酷酷女同事》,将在明年1月播出
-
仪陇播报微信公号|400多字官方回复出现4个错别字,相关人员被处分
-
塞尔维亚_时政|塞尔维亚爆发连日骚乱,警方已逮捕至少71人,其中包括英国人
-
-
娱星海|小儿子画出生父画像,美人迟暮!40岁张柏芝素颜出镜大眼袋显老态
-
-
保底|华谊兄弟涨停!《八佰》累计票房已突破1.8亿元
-
-
湖北首次出现8个0发生什么事了?湖北首次出现8个0令人震惊
-
民俗|林颐:唐宋已有“元旦”之称 “春节”最早1911年使用
-
太平洋汽车网|广汽传祺造车方面有什么黑科技?,模块化架构是大趋势
-
乐安公安|江西乐安发生一起重大刑事案件 警方悬赏30万寻嫌疑人
-
小行星@NASA探索小行星 SpaceX将用猎鹰重型火箭执行运载任务
-
李佳琪:女孩子,只要自己优秀,就不怕找不到优秀的人
-
-
历史大百家全因他杀了一个不该杀的人,必死无疑,李元霸为何最后被雷劈死
-
-
沈月|金鸡奖镜头堪比卸妆水,王鹤棣尽显真颜值,我却被沈月给美到了
-
「静宁发布」全县纪检监察工作“十大行动”暨当前各项重点工作动员部署会议召开