![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 68
Anti_Luv
这个作者很懒,什么都没留下…
展开
-
函数的调用过程 栈帧的创建和销毁
首先我们要了解一些概念。1.栈(stack)由编译器自动分配释放,存放为运行函数而分配的局部变量、函数参数、返回函数、返回地址等。操作方式类似于数据结构中的栈。栈向下生成(先定义的地址高,后定义的地址低)2.堆(heap)由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。分配方式类似于链表。堆向上生成(先定义的地址低,后定义的地址高)3.文字常量区(只读)常量字符串存放处。程序结束后由系...原创 2017-11-13 23:11:21 · 325 阅读 · 0 评论 -
高级指针的运用
首先来复习一下指针与数组数组:存放相同类型数据的集合和数组类似的还有结构体,结构体是存放不同类型数据的集合需要注意的是:虽然指针和数组在这里被拿来一起比较,但它们是两种类型,没有关系。只是有相同或相似的特性。看一下下面的代码及其运行结果:char *p = "abcdef";printf("%d\n", strlen(*p)); //报错,类型不同strlen是函数,*p以\0为结束标志数组名代表...原创 2017-11-24 23:02:09 · 266 阅读 · 0 评论 -
结构体、位段和联合
>结构体类型创建 结构体类型的声明结构是一些值的集合,这些值称为成员变量。结构的每个成员可以使相同或不同类型的变量。结构的声明:tag可以省略,list也可以省略,但是两者只能省略其一,如果没有tag,则list也可作Strut的名称,但建议都保留需要注意的一点是,最后的分号不能丢特殊的声明在声明结构的时候,可以不完全的声明。比如:去掉*p则可以编译通过不同的结构体,哪怕内部元素完全一样也是...原创 2017-12-04 23:32:57 · 771 阅读 · 0 评论 -
多态+多态对象模型
1:什么是多态?多态在面向对象语言中就是接口的多种不同的实现方式,也就是允许将子类类型的指针赋值给父类类型的指针。它是面向对象设计的一个重要特征。如果一个语言只支持类而不支持多态,只能说明它是基于对象的,而不是面向对象的。C++中的多态性具体体现在运行和编译两个方面。运行时多态是动态多态,其具体引用的对象在运行时才能确定。编译时多态是静态多态,在编译时就可以确定对象使用的形式。同一操作作用于不同的...原创 2018-03-02 16:00:10 · 267 阅读 · 0 评论 -
数组
1、数组的创建2、数组的初始化int arr[10] = { 1, 2, 3, 4, 5 };int arr2[4] = { 3, 4, 5, 6 };3、数组的使用#include<stdio.h>int main(){int i = 0;int arr[10] = {0};for (i= 0; i < 10; i++){arr[i] = i;}for (i = 0; i &l...原创 2017-04-24 23:15:55 · 256 阅读 · 0 评论 -
vector和list的使用
STLSTL是Standard Template Library的简称,中文名是标准模板库。从根本上说,STL是一些容器和算法的集合。STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分。指针被封装成迭代器,这里vector,list就是所谓的容器。 我...原创 2018-03-02 16:18:46 · 343 阅读 · 0 评论 -
智能指针
1:智能指针的发展历史? 2:auto_ptr/scoped_ptr/shared_ptr/weak_ptr的设计思想、缺陷? 3:模拟实现auto_ptr/scoped_ptr/shared_pr/weak_ptr 4:分析循环引用及解决方案. 1:智能指针的发展历史?首先要了解RAII: RAII是Resource Acquisition Is Initialization的简称,是C++语言...原创 2018-03-02 16:17:25 · 200 阅读 · 0 评论 -
【C语言】练习Day——2
1、给定两个整形变量,交换其内容这个问题很简单,只需要创建一个临时变量来保存其中一个变量的值就好,代码如下://给定两个整形变量,交换其内容int main(){ int a = 10; int b = 20; int tmp = 0; printf("a=%d b=%d\n", a, b); tmp = a; a = b; b...原创 2018-04-17 15:42:45 · 253 阅读 · 0 评论