博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言提高之技术模型层次、学习标准、特点、内存四区、函数调用模型
阅读量:4124 次
发布时间:2019-05-25

本文共 1438 字,大约阅读时间需要 4 分钟。

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)函数调用模型

      

      

你可能感兴趣的文章
django-rest-framework-jwt token 怎么解码得到用户名
查看>>
DoesNotExist异常导入路径
查看>>
JS中如何快速将字符串的“true"和"false"转换成Bool类型
查看>>
微信小程序封装wx.require
查看>>
rest_framework中,序列化显示choices字段的value方法
查看>>
xadmin中根据当前用户自动填写默认值
查看>>
js数组与字符串互相转换
查看>>
pandas DataFrame 转换日期比较时报 Can only use .dt accessor with datetimelike values错误
查看>>
Pandas DataFrame求差集
查看>>
rest_framework,发起retrieve请求时参数带小数点报404错误
查看>>
Vue移动端better-scroll组件中的@click事件失效
查看>>
pandas之DataFrame更改数据的列位置
查看>>
DataFrame索引加1
查看>>
Django自定义用户表时Admin后台密码密文的解决办法
查看>>
Vue页面刷新后store数据丢失
查看>>
无法启动uwsgi,显示No such file or directory [core/utils.c line 3654]
查看>>
nginx接受请求报错failed(13:Permission denied)
查看>>
stylus使用伪类和伪元素的方法
查看>>
Centos8安装mysql8.0遇到No match for argument: mysql-community-server错误
查看>>
Centos8远程连接mysql报You are not allowed to create a user with GRANT错误
查看>>