Zhao4zhong1 (赵中) C语言指针与汇编语言地址.

Slides:



Advertisements
Similar presentations
四川财经职业学院会计一系会计综合实训 目录 情境 1.1 企业认知 情境 1.3 日常经济业务核算 情境 1.4 产品成本核算 情境 1.5 编制报表前准备工作 情境 1.6 期末会计报表的编制 情境 1.2 建账.
Advertisements

主编:邓萌 【点按任意键进入】 【第六单元】 教育口语. 幼儿教师教育口 语概论 模块一 幼儿教师教育口语 分类训练 模块二 适应不同对象的教 育口语 模块三 《幼儿教师口语》编写组.
第一組 加減法 思澄、博軒、暐翔、寒菱. 大綱 1. 加減法本質 2. 迷思概念 3. 一 ~ 七冊分析 4. 教材特色.
海南医学院附 院妇产科教室 华少平 妊娠合并心脏病  概述  妊娠、分娩对心脏病的影响  心脏病对妊娠、分娩的影响  妊娠合病心脏病的种类  妊娠合并心脏病对胎儿的影响  诊断  防治.
植树节的由来 植树节的意义 各国的植树节 纪念中山先生 植树节的由来 历史发展到今天, “ 植树造林,绿化祖国 ” 的热潮漫卷 了中华大地。从沿海到内地,从城市到乡村,涌现了多少 造林模范,留下了多少感人的故事。婴儿出世,父母栽一 棵小白怕,盼望孩子和小树一样浴光吮露,茁壮成长;男 女成婚,新人双双植一株嫩柳,象征家庭美满,幸福久长;
客户协议书 填写样本和说明 河南省郑州市金水路 299 号浦发国际金融中 心 13 层 吉林钰鸿国创贵金属经营有 限公司.
护理学基础 第七章 医院与住院环境.
浙江省县级公立医院改革与剖析 马 进 上海交通大学公共卫生学院
第二章 环境.
教师招聘考试 政策解读 讲师:卢建鹏
了解语文课程的基本理念,把握语文素养的构成要素。 把握语文教育的特点,特别是开放而有活力的语文课程的特点。
北台小学 构建和谐师生关系 做幸福教师 2012—2013上职工大会.
福榮街官立小學 我家孩子上小一.
第2期技職教育再造方案(草案) 教育部 101年12月12日 1 1.
企业员工心态管理培训 企业员工心态管理培训讲师:谭小琥.
历史人物的研究 ----曾国藩 组员: 乔立蓉 杜曜芳 杨慧 组长:马学思 杜志丹 史敦慧 王晶.
教育部高职高专英语类专业教学指导委员会 刘黛琳 山东 • 二○一一年八月
淡雅诗韵 七(12)班 第二组 蔡聿桐.
第七届全国英语专业院长/系主任高级论坛 汇报材料
小數怕長計, 高糖飲品要節制 瑪麗醫院營養師 張桂嫦.
制冷和空调设备运用与维修专业 全日制2+1中等职业技术专业.
会计信息分析与运用 —浙江古越龙山酒股份有限公司财务分析 组员:2006级工商企业管理专业 金国芳 叶乐慧 魏观红 徐挺挺 虞琴琴.
第六章 人体生命活动的调节 人体对外界环境的感知.
发明专利 申请文件的撰写 机械发明审查部流体机械处 李晋珩.
芹菜 英语051班 9号 黄秋迎 概论:芹菜是常用蔬菜之一,既可热炒,又能凉拌,深受人们喜爱。近年来诸多研究表明,这是一种具有很好药用价值的植物。 别名:旱芹、样芹菜、药芹、香芹、蒲芹 。 芹菜属于花,芽及茎类。
2012年 学生党支部书记工作交流 大连理工大学 建工学部 孟秀英
北京市职业技能鉴定管理中心试题管理科.
2014吉林市卫生局事业单位招聘153名工作人员公告解读
各類所得扣繳法令 與申報實務 財政部北區國稅局桃園分局 103年9月25日
初級游泳教學.
爱国卫生工作的持续发展 区爱卫办 俞贞龙.
第八章 数学活动 方程组图象解法和实际应用
本课内容提要 一、汇率的含义 二、汇率变化与币值的关系 三、汇率变化的影响. 本课内容提要 一、汇率的含义 二、汇率变化与币值的关系 三、汇率变化的影响.
散文鉴赏方法谈.
比亚迪集成创新模式探究 深圳大学2010届本科毕业论文答辩 姓名:卓华毅 专业:工商管理 学号: 指导老师:刘莉
如何撰写青年基金申请书 报 告 人: 吴 金 随.
点击输 入标题 点击输入说明性文字.
國際志工海外僑校服務 越南 國立臺中教育大學 2010年國際志工團隊.
痰 饮.
學分抵免原則及 學分抵免線上操作說明會.
教 学 查 房 黄宗海 南方医科大学第二临床医学院 外科学教研室.
评 建 工 作 安 排.
“十二五”国家科技计划经费管理改革培训 概预算申报与审批 国家科学技术部 2012年5月.
“十二五”国家科技计划经费管理改革培训 概预算申报与审批 国家科学技术部 2012年5月.
首都体育学院 武术与表演学院 张长念 太极拳技击运用之擒拿 首都体育学院 武术与表演学院 张长念
现行英语中考考试内容与形式的利与弊 黑龙江省教育学院 于 钢 2016, 07,黄山.
第5讲:比较安全学的创建 吴 超 教授 (O)
個人傷害險-鐵馬逍遙專案 商品介紹 商品特色 保障內容 承保對象 保險費 案例 業務費用及淨業績 車險部業務規劃科.
彰化縣西勢國小備課工作坊 新生入學的班級經營 主講:黃盈禎
重庆市西永组团K标准分区基本情况介绍.
西貢區歷史文化 清水灣 鍾礎營,楊柳鈞,林顥霖, 譚咏欣,陳昭龍.
所得稅扣繳法令與實務 財政部北區國稅局桃園分局 102年12月19日 1 1.
角 色 造 型 第四章 欧式卡通造型 主讲:李娜.
走进校园流行 高二15班政治组 指导老师:曾森治老师.
医院文化建设 广东省中医院 2011年3月26日.番禺.
案例:海底捞模式 ——把服务做到极致.
医疗法律法规培训 连云港市东辛农场医院 周卫平 二0一四年十二月.
史泰博出货检验员面试中·········
長高 長壯 ㄋㄟㄋㄟ補給站 每天2份奶~~健康跟著來!.
103年度清水區農會四健推廣教育 第2單元 06月12 日 PM1:20-2:50 題目:六大類食物/均衡飲食金字塔 均衡飲食金字塔
技术试验及其方法 制作者 : 贾琼瑞
C语言程序设计 第十二章 位运算.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
多维数组与指针 用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。但在概念上和使用上,多维数组的指针比一维数组的指针要复杂一些。 1. 多维数组元素的地址 先回顾多维数组的性质,可以认为二维数组是“数组的数组”,例 : 定义int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
第一章 C语言概述 目录 什么是语言、程序 C语言的历史与发展 C语言的书写形式与程序结构 运行C语言的步骤与方法
本节内容 函数嵌套调用的内存布局 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
函式庫補充資料 1.
隨機函數.
Presentation transcript:

zhao4zhong1 (赵中) C语言指针与汇编语言地址

教学计划 第1次课: 演示使用VC2010查看每句C对应的汇编指令和每个C语言成分对应的汇编地址或寄存器。 第2次课: 通过求函数大小功能和求函数调用者实例了解指针与函数对应的汇编内存地址。 第3、4次课: 通过静态和动态一、二、三维数组实例了解指针与数组对应的汇编内存地址。 第5、6次课: 通过带头节点和不带头节点的单链表实例了解指针与单链表对应的汇编内存地址。 第7、8次课: 通过双向链表和双向循环链表实例了解指针与双向链表对应的汇编内存地址。 第9、10次课:通过十字链表实例了解指针与十字链表对应的汇编内存地址。

Alt+8 Alt+6 Alt+5 F11 Ctrl+Alt+M,2 静态和动态三维数组 汇编窗口 内存1 窗口 寄存器窗口 内存2 窗口 单步执行 F11 寄存器窗口 内存2 窗口 Alt+5 Ctrl+Alt+M,2

静态和动态三维数组 鼠标右键点2darray.cpp 、选移除、在弹出的对话框中点移除。 鼠标右键点源文件、添加、现有项、d:\prjzz\prj1\prj1\3darray.cpp、添加 在3darray.cpp上双击鼠标左键 db=(int ***)malloc(2*sizeof(int **)); if (NULL==db) return 1; for (i=0;i<2;i++) { db[i]=(int **)malloc(3*sizeof(int *)); if (NULL==db[i]) return 1; for (j=0;j<3;j++) { db[i][j]=(int *)malloc(4*sizeof(int)); if (NULL==db[i][j]) return 1; } for (k=0;k<4;k++) { db[i][j][k]=i*100+j*10+k; printf(" %3d",db[i][j][k]); printf("\n"); printf("----------------\n"); printf("typeid(db[0][0]).name() is %s\n",typeid(db[0][0]).name()); printf("typeid(db[0] ).name() is %s\n",typeid(db[0] ).name()); printf("typeid(db ).name() is %s\n",typeid(db ).name()); free(db[i][j]); free(db[i]); free(db); return 0; #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include <typeinfo.h> int main() { int sa[2][3][4]; int ***db; int i,j,k; for (i=0;i<2;i++) { for (j=0;j<3;j++) { for (k=0;k<4;k++) { sa[i][j][k]=i*100+j*10+k; } printf(" %3d",sa[i][j][k]); printf("\n"); printf("----------------\n"); printf("typeid(sa[0][0]).name() is %s\n",typeid(sa[0][0]).name()); printf("typeid(sa[0] ).name() is %s\n",typeid(sa[0] ).name()); printf("typeid(sa ).name() is %s\n",typeid(sa ).name());

静态三维数组 sa 12ff04 00 ...共96个 sa[0] 00 ...共48个 sa[1] 12ff34 64 ...共48个 typeid(sa[0][0]).name() int [4] //4列 typeid(sa[0] ).name() int [3][4] // 3行4列 typeid(sa ).name() int [2][3][4] //2层3行4列 代码要素 对应内存地址 字节 含义 sa 12ff04 00 ...共96个 静态三维数组sa[2][3][4] sa[0] 00 ...共48个 sa的第0层 sa[1] 12ff34 64 ...共48个 sa的第1层 sa[0][0] 00 ...共16个 sa的第0层第0行 sa[1][2] 12ff54 78 ...共16个 sa的第1层第2行 sa[0][0][0] 00 00 00 00 0,即sa[0][0][0]的值 sa[1][2][3] 12ff60 7b 00 00 00 123,即sa[1][2][3]的值

动态三维数组 db 12ff00 68 2c 38 00 db[0] 382c68 b0 2c 38 00 db[1] 382c6c typeid(db[0][0]).name() int * typeid(db[0] ).name() int ** typeid(db ).name() int *** 代码要素 对应内存地址 字节 含义 db 12ff00 68 2c 38 00 0x382c68,动态三维数组db[2][3][4]的起始地址 db[0] 382c68 b0 2c 38 00 0x382cb0,动态三维数组db[2][3][4]的第0层db[0]的起始地址 db[1] 382c6c e8 2d 38 00 0x382de8,动态三维数组db[2][3][4]的第1层db[1]的起始地址 db[0][0] 382cb0 f8 2c 38 00 0x382cf8,动态三维数组db[2][3][4]的第0层第0行db[0][0]的起始地址 db[1][2] 382df0 d0 2e 38 00 0x382ed0,动态三维数组db[2][3][4]的第1层第2行db[1][2]的起始地址 db[0][0][0] 382cf8 00 00 00 00 0,即db[0][0][0]的值 db[1][2][3] 382edc 7b 00 00 00 123,即db[1][2][3]的值

Thank You!