c语言的四种运行模型,C语言提高之技术模型层次、学习标准、特点、内存四区、函数调用模型...

1、C语言技术模型分层:

其中,接口的封装和设计尤为重要!

2、着重需要培养的能力

(1)接口的封装和设计(业务模型的抽象、功能抽象和封装) ———重中之重!

a.接口api的使用能力;

b.接口api的查找能力(快速上手);

c.接口api的实现能力;

// SOCKETCLIENT_H,一个简单信息系统的封装接口

#ifndef _SOCKETCLIENT_H

#endif _SOCKETCLIENT_H

#ifdef __cplusplus

extern "C" {

#endif

//第一套api函数

//socket客户端环境初始化

int socketclient_init(void **handle);

//socket客户端报文发送

int socketclient_send(void *handle, unsigned char *buf, int buflen);

//socket客户端报文接受

int socketclient_recv(void *handle, unsigned char *buf, int *buflen);

//socket客户端环境释放

int socketclient_destory(void *handle);

//第二套api函数

//socket客户端环境初始化

int socketclient_init2(void **handle);

//socket客户端报文发送

int socketclient_send2(void *handle, unsigned char *buf, int buflen);

//socket客户端报文接受

int socketclient_recv2(void *handle, unsigned char **buf, int *buflen);

int socketclient_Free(unsigned char **buf); //add

//socket客户端环境释放

int socketclient_destory2(void **handle);

//技术点分析:

//1级指针

//2级指针

//void **handle类型封装的概念、 业务模型的封装的概念

#ifdef __cplusplus

}

#endif

#endif

(2)建立正确程序运行内存布局图(印象图)———深刻理解指针的关键!

a.内存四区模型图 ;

b.函数调用模型图 ;

4、C/C++学习特点:学习、理解、应用(动手)、做项目

5、内存四区专题

(1)数据类型可理解为创建变量的模子——是固定内存大小的别名。

数据类型的作用:编译器预算对象(变量)分配的内存空间大小。

可以给已存在的数据类型起别名typedef。

既能读又能写的内存对象,称为变量;若一旦初始化后不能修改的对象则称为常量。

变量:1、对内存,可读可写;2、通过变量往内存读写数据;3、不是向变量读写数据,而是向变量所代表的内存空间中写数据;

(2)内存四区的建立流程

流程说明:

1、操作系统把物理硬盘代码load到内存

2、操作系统把c代码分成四个区

3、操作系统找到main函数入口执行

(3)内存四区各区元素分析

242a8763678707dd05eb39db62d2d584.png

指针指向谁,就把谁的地址赋给指针;

指针变量  和  指针所指向的内存空间  是两个不同的概念;

理解指针的关键——理解内存块!没有内存哪来的指针!要清楚的知道内存来自何方(哪个区),何时消失,消失往哪里!

41dea9d360224f51b889e432b593e83b.jpg

(4)函数调用模型

fd18cfec6c83db0920298944be17e53f.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值