C和指针课后问答题答案翻译
第11章 动态内存分配
1.在你的系统中,你能够声明的静态数组最大长度能达到多少?使用动态内存分配,你最大能够获取的内存块有多大?
英文答案原文:
This will vary from system to system.There are several things that may affect the result on PC-based systems, includeing the memory model in use, the amount of space in the data and/or stack segment, the amount of available memory on the system, and so forth. The result on Unix systems will depend on the amount of available swap space, among other things.
答案中文翻译:
根据系统不同而值不同。以下是影响基于PC系统的因素:使用的内存模式、数据段或栈段的空闲量、系统上可用内存量等。Unix系统上,取决于可用的交换空间大小。
2.当你一次请求分配500个字节的内存时,实际上获得的动态分配的内存数量总共有多大?当你一次请求分配5000个字节时又如何?它们存在区别吗?如果有,你如何解释?
英文答案原文:
There are two explanations possible.Requesting smaller chunks may allow more memory to be allocated because the amount of memory left over after the last allocation will be smaller.This would make the total for the smaller requests larger.More likely, though,is that the total for the smaller requests is smaller:this is due to the overheed of the extra space that malloc attache to the memory in order to keep track of the size of each allocated chunk.
答案中文翻译:
可能会有两种解释。申请更小的数据块会使得更多的内存得到分配,因为上一次分配剩余的内存大小会变得更小。这将使较小的请求的总数更大。更多的情况是,实际获得的内存数量更大,因为会分配额外的头部空间用于追踪每个被分配的数据块的大小。
4.有些C编译器提供了一个称为alloca的函数,它与malloc函数的不同之处在于它在堆栈上分配内存。这种类型的分配有什么优点和缺点?
主要优点是当分配内存的函数返回时,这块内存会被自动释放。这个属性是由于堆栈的工作方式决定的,它可以保证不会出现内存泄漏。但这种方法也存在缺点。由于当函数返回时被分配的内存将消失,所以它不能用于存储那些回传给调用程序的数据。
6.当你需要编写一个程序,并希望最大限度地减少堆栈的使用量。动态内存分配能不能对你有所帮助?使用标准数据又该如何?
Yes,dynamic allocation will use less stack space because the memory for the arrays will be taken from the heap tather than stack.Dynamic allocation of scalar will help only if the values being allocated are larger than the size of a pointer,as it wold be with a large structures.There is no gain in dynamically allocation an integer because the pointer variable you must have to keep track of it takes just as much space as the integer itself,
7.删除两个free函数的调用会导致什么后果?
英文答案原文:
Memory leeks would be possible,but only when either the second or third allocations failed,meaning that the program had neerl run out of memory anyway.
答案中文翻译:
内存泄漏是可能的, 但只有当第二个或第三次分配失败时, 这意味着程序几乎用尽了内存。
C和指针课后问答题答案翻译的更多相关文章
- c++面向对象程序设计 课后题 答案 谭浩强 第四章
c++面向对象程序设计课后题答案 谭浩强 第四章 1: #include <iostream> using namespace std; class Complex {public: Co ...
- C++面向程序设计(第二版)课后习题答案解析
最近没什么心情整理零散的知识点,就整理一下第四章的课后习题答案. 1.定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算.将运算符函数重载为非成员函数,非友元的普通函数.编程序, ...
- C程序设计(谭浩强)第五版课后题答案 第一章
大家好,这篇文章分享了C程序设计(谭浩强)第五版课后题答案,所有程序已经测试能够正常运行,如果小伙伴发现有错误的的地方,欢迎留言告诉我,我会及时改正!感谢大家的观看!!! 1.什么是程序?什么是程序设 ...
- C++第三章课后作业答案及解析---指针的使用
今天继续完成上周没有完成的习题---C++第三章课后作业,本章题涉及指针的使用,有指向对象的指针做函数参数,对象的引用以及友元类的使用方法等 它们具体的使用方法在下面的题目中会有具体的解析(解析标注在 ...
- 实验七 《FBG》—-小学生课后习题答案原型设计
一.实验目的与要求 1.掌握软件原型开发技术 2.学习使用软件原型开发工具 二.实验内容与步骤 1.开发工具: 使用的工具:墨刀(APP端开发原型) 工具简介: 墨刀(MockingBot)是一款简单 ...
- javase程序设计课后题答案
;第1章 Java概述 编译java application源程序文件将产生相应的字节码文件,这些字节码文件别的扩展名为.java 执行一个java程序fristapp的方法是运行java frist ...
- 【视觉SLAM14讲】ch4心得与课后题答案【仅供参考】
答案: Q1:验证SO(3) SE(3) Sim(3)关于乘法成群 SO(3) : 由P64最开始可知,乘法代表了旋转,而SO(3)是旋转矩阵的集合, SE(3) Sim(3) 同理(最基础的部分 ...
- 啊哈!C语言课后参考答案下
最近看到一本好评量很高的的C语言入门书,课本真的很好,入门的话.专业性没有那么强,但入门足够了!!好评!看着看着就想把这本书的题课后习题都写出来,最后就有了这个小结.可能有的不是最好,不那么专业,但主 ...
- 啊哈!C语言课后参考答案上
最近看到一本好评量很高的的C语言入门书,课本真的很好,入门的话.专业性没有那么强,但入门足够了!!好评!看着看着就想把这本书的题课后习题都写出来,最后就有了这个小结.可能有的不是最好,不那么专业,但主 ...
随机推荐
- pycharm连接linux版python
1.建立连接 2.测试连接 3.同步目录 4.查看同步的目录 5.设置永久同步目录 6.设置连接 可以看到添加进来了 参照文档: https://www.cnblogs.com/xiao-apple3 ...
- 安装php扩展sphinx-1.2.0.tgz和libsphinxclient0.9.9
一.首先安装libsphinxclient(php模块需要) cd /usr/local/src/tar zxvf sphinx-0.9.9.tar.gzcd sphinx-0.9.9/api/lib ...
- python之selenium多窗口切换
前提: 在页面操作过程中有时候点击某个链接会弹出新的窗口,这就需要主机切换到新打开的窗口上.WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切换. 内容: 以 ...
- matlab 提取图像轮廓(图像边缘提取)
利用edge()函数提取图像轮廓,绘制出对象的边界和提取边界坐标信息,matlab实现代码如下: close all;clear all;clc; % 提取图像轮廓,提取图像边缘 I = imread ...
- Linux特基础的知识(接上一条)
grep:文本过滤工具(找到要找的文本) print lines matching a pattern例: 打印 行 匹配 一个 模式/样式[root@oldboyedu /opt]# grep &q ...
- 义隆单片机学习笔记之(一) 硬件框架&资源下载
参考网址: 点击链接或右键链接地址 (台湾义隆官网)http://www.emc.com.tw/chs/tech_8bit.asp (EM78P153K官方资料)http://www.emc.com. ...
- 【编程开发】MD5算法原理
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权费用. MD5功能: ...
- edusoho twig 引入文件功能
在这里不得不提 edusoho twig 模板引擎了 跟smarty 比较类似 不过感觉还是更好一点儿 这里用的标签就只有一个 {% include '路径/文件名' %} 大家在首页做的改动比较多 ...
- CJL.0.1.js
/*! * Cloudgamer JavaScript Library v0.1 * Copyright (c) 2009 cloudgamer * Blog: http://cloudgamer.c ...
- pptpd的log整理
前言: 最近有时候,我的pptpd会莫名崩掉.这时,在外边的我连不到内网,气的一比. 这时候,就需要去查一查log日志了. 所以就记录一下怎么调日志的: 1. 修改/etc/ppp/pptpd.o ...