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)内存四区各区元素分析
指针指向谁,就把谁的地址赋给指针;
指针变量 和 指针所指向的内存空间 是两个不同的概念;
理解指针的关键——理解内存块!没有内存哪来的指针!要清楚的知道内存来自何方(哪个区),何时消失,消失往哪里!
(4)函数调用模型
版权声明:本文为博主原创文章,未经博主允许不得转载。
C语言提高之技术模型层次、学习标准、特点、内存四区、函数调用模型
原文地址:http://blog.csdn.net/songshimvp1/article/details/47813665