C/C++
文章平均质量分 65
C和C++相关
柒妖71
不破不立
展开
-
C语言面向对象的编程思想
面向对象编程Object-Oriented Programming,OOP)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。原创 2023-08-30 22:22:12 · 432 阅读 · 0 评论 -
结构体------对齐与压缩(#pragma, __packed)
结构体对齐原则:压缩结构体的方法_packedpacked属性的主要目的是让编译器更紧凑地使用内存。当它用于变量时,告诉编译器该变量应该有尽可能小的对齐,也就是1字节对齐。当它用于结构体时 ,相当于给该结构体的每个成员加上了packed属性,这时该结构体将占用尽可能少的内存。#program pack()aligned...原创 2022-04-25 22:26:10 · 2134 阅读 · 0 评论 -
attribute的section属性
语法_attribute_((section(name)))作用常用于初始化模块中,添加新的模块不需要修改之前的代码。传统做法:如果我需要在主函数的初始化中添加新功能C的初始化,那么我必然需要修改主函数。使用__attribute__((section()))构建初始化函数表后的做法:那么我们只需要完成功能C的初始化,然后添加到对应的初始化表中。main函数中初始化函数表的时候,就会自动完成模块的初始化。那么可能有人问了,第一种明显简单易懂为啥需要使用__attribute__呢?如果原创 2022-03-07 14:16:16 · 4032 阅读 · 0 评论 -
c语言思维导图(学习笔记)
版本V1.0下载版本gitee链接说明1、free2、后续还会更新完善,并提供xmind版本。3、目前提供百度脑图版本,只需要使用网页版百度脑图打开。操作步骤1、打开百度脑图网页版2、新建脑图3、点击百度脑图4、参考资料五里之南C语言中文网14skyang根号五21aspnetGreenHand《c primer plus》...原创 2022-02-12 16:54:51 · 1106 阅读 · 0 评论 -
*p++、*++p、++*p、(*p)++
整理c语言指针的时候发现几个很有意思的东西,直接先上代码在解释。背景条件GCC 版本7.4.0i++:先使用i,再递增++i:先递增,再使用i优先级表:同一优先级的运算符,运算次序由结合方向所决定。*p++#include <stdlib.h>int buf[]={1,3,5};int main(){ int *p = buf; printf("%d\r\n",*p++); printf("%d",*p); return(0);}结果原创 2022-02-12 00:00:38 · 686 阅读 · 0 评论 -
C/C++内存分区(二)
内存分区模型C/C++将内存大方向分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理。全局区:存放全局变量和静态变量以及常量。栈区:由编译器自动分配释放,存放函数的参数值/局部变量等。堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。前两个在代码运行前就存在,后两个在代码运行后才产生。代码区存放CPU执行的机器指令特点:代码区是共享的,对于频繁执行的代码程序,只需要内存中存放一份代码。代码区是只读的,防止程序意外修改了他的指令。全局区全局区还包原创 2021-11-24 23:58:58 · 341 阅读 · 0 评论 -
GCC编译过程
GCC编译过程gcc编译过程预编译编译汇编链接gcc编译过程几乎每个程序员接触到的第一个程序都是“hello world”,其代码如下:#include <stdio.h>int main(){ printf("Hello World\r\n"); retrun 0;}我们在使用C-Free只要点一下编译运行,控制台就会出现“Hello World”。然而机器并不会C语言,他是怎么执行这条语句的呢?其实IDE在点编译的时候已经为我们做了很多事了。如果接触过Linux开发,在入原创 2021-03-20 23:07:12 · 296 阅读 · 3 评论 -
C/C++内存分区(一)
内存分配大厂电话面试都问道了这道题,一道基础知识。但是对于不研究只会用的小白来说还是需要背一下的。问:C/C++内存分为哪几个区?答:栈区、堆区、全局区、常量区、代码区如下图1所示图1 内存分配图问:局部变量存在哪个区答:栈区。。。第一周面试了4家公司,其中2家大厂问了这个问题,所以这些基础知识需要掌握。...原创 2021-03-14 01:11:49 · 366 阅读 · 3 评论