看点!计算机二级C语言常见问题:内存分配

发布于 2018-08-02 09:13  编辑:jokex
0
计算机等级考试题库 扫码微信刷题

小编所收集到的相关计算机二级C语言常见问题:内存分配的资料 大家要认真阅读哦!



问题列表:

1 为什么这段代码不行?
char *answer; printf("Type something:\n"); 
gets(answer); printf("You typed \"%s\"\n", answer);

2 我的strcat() 不行.我试了char *s1 = "Hello, "; char *s2 = "world!"; char *s3 = strcat(s1, s2); 但是我得到了奇怪的结果。

3 但是strcat 的手册页说它接受两个char * 型参数。我怎么知道(空间) 分配的事情呢?

4 我刚才试了这样的代码char *p; strcpy(p, "abc"); 而它运行正常?怎么回事?为什么它没有崩溃?

5 一个指针变量分配多少内存?

6 我有个函数, 本该返回一个字符串, 但当它返回调用者的时候, 返回串却是垃圾信息

那么返回字符串或其它集合的争取方法是什么呢?

8 为什么在调用malloc() 时, 我得到“警告: 整数赋向指针需要类型转换”?

9 为什么有些代码小心地把malloc 返回的值转换为分配的指针类型。

10 在调用malloc() 的时候, 错误“不能把void * 转换为int *” 是什么意思?

11 我见到了这样的代码char *p = malloc(strlen(s) + 1); strcpy(p,s); 难道不应该是malloc((strlen(s) + 1) * sizeof(char))?

12 我如何动态分配数组?

13 我听说有的操作系统程序使用的时候才真正分配malloc 申请的内存。这合法吗?

14 我用一行这样的代码分配一个巨大的数组, 用于数字运算: double*array = malloc(300 * 300 * sizeof( double )); malloc() 并没有返回null, 但是程序运行得有些奇怪, 好像改写了某些内存, 或者malloc() 并没有分配我申请的那么多内存, 云云。

15 我的PC 有8 兆内存。为什么我只能分配640K 左右的内存?

16 我的程序总是崩溃, 显然在malloc 内部的某个地方。但是我看不出哪里有问题。是malloc() 有bug 吗?

1动态分配的内存一旦释放之后你就不能再使用, 是吧?

18 为什么在调用free() 之后指针没有变空?使用(赋值, 比较) 释放之后的指针有多么不安全?

19 当我malloc() 为一个函数的局部指针分配内存时, 我还需要用free() 明确的释放吗?

20 我在分配一些结构, 它们包含指向其它动态分配的对象的指针。我在释放结构的时候, 还需要释放每一个下级指针吗?

21 我必须在程序退出之前释放分配的所有内存吗?

22 我有个程序分配了大量的内存, 然后又释放了。但是从操作系统看, 内存的占用率却并没有回去。

23 free() 怎么知道有多少字节需要释放?

24 那么我能否查询malloc 包, 可分配的最大块是多大?

25 向realloc() 的第一个参数传入空指针合法吗?你为什么要这样做?

26 calloc() 和malloc() 有什么区别?利用calloc 的零填充功能安全吗?





小编为大家整理,就是希望大家能够避过这些常见问题,大家一定要注意哦!

继续了解计算机二级C语言?点击下方链接,进入考无忧官方网站,更多精彩等你来!

小编特别推荐二级ms office可以了解一下噢! 毕竟这项科目着实相比其他科目比较容易啦!


文章推荐:

2018年全国计算机等级考试都有哪些科目?

2018年全国计算机考试报名为什么照片上传不成功?

2018年全国计算机等级考试一二三四级最新考试大纲汇总


温馨提示:

想要了解更多试题请点击查看>>>计算机二级考试题库

考试想拿高分吗?更多二级ms office试题请点击查看>>>二级ms office

想知道更多关于计算机等级考试的最新资讯吗?点击进入>>>计算机等级考试


本文网址:http://www.k51.com.cn/info/jsjdjks/1808/0242605.html
选择分享到: