![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编程语言
文章平均质量分 82
C/C++/Go
Yukisblog
这个作者很懒,什么都没留下…
展开
-
第五章:内存、字符串、结构体、共用体
三种申请方式都可以存储数据,如何选择?函数内部临时用→栈,局部变量变量只在程序一个阶段有用→堆变量存在程序始终→数据段。原创 2023-11-25 16:42:07 · 38 阅读 · 0 评论 -
第四章:指针高级应用
内存角度看,一维数组和二维数组没有本质差别,都是连续分布的格子,访问效率完全一样,但更好理解(另:平面直角坐标系、四轴飞行器用三维数组)typedef重命名的是类型(相当于数据模板,不占内存,对应C++中的类),不是变量(真实数据,占用内存,对应C++中的对象)二重指针也是指针变量,占四个字节,指针指向的变量是一重指针/指针数组,可以看成指针数组的指针,编译器会帮忙做类型检查。二维数组初始化:int a[2][2]={{1,2},{3,4}}或int a[2][2]={1,2,3,4}原创 2023-11-24 17:11:19 · 15 阅读 · 0 评论 -
第三章:指针
指针的实质是变量,但用途不同,指针变量存的是地址指针的出现是对间接寻址的封装高级语言JAVA,C#没有指针,语言本身封装了指针定义指针变量、为指针变量赋值(不赋值存随机数字)、解引用(*p=555)原创 2023-11-24 16:15:17 · 18 阅读 · 0 评论 -
第二章:位操作
bit 3 置1:a |=(1<<3)bit 3~bit 7置1:a |=(0b11111<<3)或者 a |=(0x1f<<3)bit 5清除:a &=(~(1<<5))bit 15~bit 23清除:a&=(~(0x1ff<<15))取出bit 3~bit 8:a&=(0x3f<<3),a>> =3bit 3~bit 8不变,其余清零,然后右移三位(先取数,再移动)原创 2023-11-24 16:03:51 · 16 阅读 · 0 评论 -
第一章:内存
内存单元大小的单位:位(一定是1 bit)、字节(一定是8 bit)、半字(一般16 bit)、字(一般32bit),字和半字取决于系统的位数,ARM系统一般是32位。C++:对内存进一步封装,可以使用new创建对象、分配内存,delete删除对象、释放内存(C、C++没有free,delete会内存泄露)堆内存申请指定大小,大小不变,要变化需要remalloc(重新申请、释放原空间、返回新的空间给用户,类似java的可变数组)内存可以随机访问,且可以读写,n位内存代表一个地址单元有n位(内存位宽为n)原创 2023-11-24 16:00:43 · 17 阅读 · 0 评论