-
你必须知道的495个C语言问题
2015-10-16 14:14:281.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 声明问题 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 *1.26 main的正确定义是什么?... -
《你必须知道的495个C语言问题》
2010-03-20 16:41:181.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 14 *1.26 main的正确... -
你必须知道的495个C语言问题(高清版)
2010-03-31 16:24:091.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 13 声明问题 14 1.25 函数只定义了一次,调用了一次,但编译器提示非法重声明了。 14 *1.26 main的正确... -
C语言程序设计标准教程
2009-05-22 18:43:58(数组名表示数组的首地址,故可赋予指向数组的指针变量pa) 也可写为: pa=&a[0]; /*数组第一个元素的地址也是整个数组的首地址, 也可赋予pa*/ 当然也可采取初始化赋值的方法: int a[5],*pa=a; ⑤把字符串的首... -
东南大学C++下期末考试笔试卷.pdf
2020-06-25 21:27:21一选择题每题 1 分共 10 题共 10 分 1在数组 int b[][4]={{1},{3,4},{4,7,9,10},{8,5,6}} 中b[2][2] 的值是 D A 0 B 4 C 7 D 9 2以下关于 this 指针描述正确的是 C A 使基类公有成员在子类中可以被访问 Bthis 指针... -
你必须知道的495个C语言问题(PDF)
2009-09-15 10:25:47老资源。 目录 1 声明和初始化1 1.1 我如何决定使用那种整数类型? . . . ....1.2 64 位机上的64 位...5.11 为什么有那么多关于空指针的疑惑?为什么这些问题如此经常地 出现? . . . . . . . . . . . . . . . . . . . ... -
最新东南大学C++下期末考试笔试卷.docx
2020-12-14 07:35:36精品文档 一选择题每题?...7 D9 2以下关于?this?指针描述正确的是 C A使基类公有成员在子类中可以被访问 Bthis?指针必须写成显式的 Cthis?指针总指向要调用的其成员函数的对象 D静态成员函数也存在?this?指针 -
C语言笔试题纪录(二)
2018-02-02 16:35:39静态链表中指针表示的是(B) A . 内存地址 B . 数组下标 C .... .... 下述对线程说法错误的是(D) ...A....进程是由多个线程组成,同一个进程的线程能共享...以下关于TCP协议特点的描述中,错误的是(C) A.TCP协议是一种静态链表中指针表示的是(B)
A . 内存地址 B . 数组下标 C .下一元素地址 D . 左、右孩子地址
下述对线程说法错误的是(D)
A.线程是进程的一部分 B.使用线程有利于提高程序执行效率 C.线程切换开销比进程切换开销低 D.线程间不能共享全局变量
进程是由多个线程组成,同一个进程的线程能共享全局变量
以下关于TCP协议特点的描述中,错误的是(C)
A.TCP协议是一种可靠的面向连接的协议 B.TCP协议可以将原主机的字节无差错的传送到目的主机
C.TCP协议将网络层的字节流分成多个字段 D.TCP协议具有流量控制功能
设a、b、c、d、e、f以所给次序进栈,若在进栈操作时,允许出栈操作,则下面得不到的序列为(D)
A.fedcba B.bcafed C.dcefba D.cabdef栈空间储存按照先进后出的顺序,若在进栈操作时允许出栈,则出栈元素排在最上堆与栈的区别:(1)空间分配区别:栈由操作系统自由分配释放,堆由程序员分配释放,若程序员不释放,可能由系统回收。(2)缓存方式区别:栈为一级缓存,通常被调用完毕立刻释放,堆为二级缓存,生命周期由虚拟机的垃圾回收算法决定(3)数据结构区别:栈为先进后出的数据结构,堆为一棵树简述数组与指针的区别?1)空间分配
指针是动态分配空间,通过malloc在堆上分配所需要的空间,分配的空间不一定连续,在使用完之后需要调用free()来释放分配空间。而数组是静态分配空间,在全局变量区或者栈
上分配空间,分配的空间是连续的,局部变量在生命周期结束后自动释放,全局变量在程序结束完自动释放。
(2)访问效率
指针是通过地址间接访问,而数组是直接访问数值。因此指针的访问效率低,数组的访问效率高。
(3)安全性
指针使用不当会造成内存泄漏,数组使用不当会造成数组越界。
(4)函数参数
数组要用相应的指针当形参,而指针要用指针的指针来当形参。
(5)字节大小
指针的字节大小是固定的,由操作系统决定。数组的字节大小由数组大小和数组指向的类型共同来决定。
(6)标识符
指针名是变量,数组名是指针常量。所以指针p可以进行p++,而数组名不可以用于a++。
(7)对应的内存空间
指针保存的是地址,数组保存的是数值。关键字const是什么含义,有什么作用?const修饰变量意味着只读,const是将一个变量添加到符号列表中,编译时编译器略过符号编译说出const与#define相比,有何优点?首先阐述两者区别
就起作用的阶段而言: #define是在编译的预处理阶段起作用,而const是在 编译、运行的时候起作用。
就起作用的方式而言: #define只是简单的字符串替换,没有类型检查。而const有对应的数据类型,是要进行判断的,可以避免一些低级的错误。
就存储方式而言:#define只是进行展开,有多少地方使用,就替换多少次,它定义的宏常量在内存中有若干个备份;const定义的只读变量在程序运行过程中只有一份备份。
从代码调试的方便程度而言: const常量可以进行调试的,define是不能进行调试的,因为在预编译阶段就已经替换掉了。
综上所述const有以下几个优点
(1)const常量有数据类型,编译器可对其类型进行安全检查
(2)const常量可进行调试
(3)const可节省空间,避免不必要的内存分配,提高效率什么是预编译,何时需要预编译?预编译又称为预处理 , 是做些代码文本的替换工作。
处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。
主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。
C 编译系统在对程序进行通常的编译之前,首先进行预处理。
c 提供的预处理功能主要有以下三种:
1 )宏定义
2 )文件包含
3 )条件编译
何时需要预编译:
总是使用不经常改动的大型代码体。
程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个“预编译头”在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”?作为一种面向对象的语言,C++支持函数重载,而过程式语言C则不支持。函数被C++编译后在符号库中的名字与C语言的不同。例如,假设某个函数的原型为:
void foo( int x, int y );该函数被C编译器编译后在符号库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字 -
精通Android游戏开发(将本地PC游戏轻松移植到Android的秘技)--详细书签版
2013-02-08 11:30:55你将学习关于Java本地接口(Java Native Interface ,JNI)的一些让人欢欣鼓舞的概念,还会了解结合Java 和C时所用的API,包括如何加载本地库、如何使用本地关键字、如何生成JNI头文件,以及方法签名、Java数组与C... -
VC++科学计算器的设计V1_4Beta.rar
2010-03-23 04:54:59(其中逆波兰表达式可以有各种表示形式,如数组、链表等,这里我们选用字符数组即字符流的形式表示可以使得一般情况下所占用的存储空间最小。) 而转换逆波兰表达式又可以分为预转换及生成逆波兰表达式两个过程。预... -
React V15.6 实现一个简单的个人博客
2020-12-09 01:09:56关于 <code>ESLint</code> 的包就是放在 <code>devDependencies</code> 底下的,因为它只是在开发的时候会使用到。 使用 <ul><li>在 <code>webpack</code> 配置中加载 <code>eslint-loader</code>:... -
数据库系统基础:高级篇(第5版)(讲述数据库系统原理的经典教材)--详细书签版
2013-04-05 14:33:111.3 事务的描述特性 8 1.4 描述基于可恢复性调度的特征 9 1.4.1 事务的调度(历史) 9 1.4.2 描述基于可恢复性调度的特征 10 1.5 描述基于可串行性调度的特征 11 1.5.1 串行、非串行和冲突-可... -
做了一个小时的面试题(没有过 希望大家帮忙答下 虽然很幼稚 毕竟每个人都是这么过来的吗 感激了!...
2010-04-16 11:10:589、下列有关数据库的描述,正确的是()。 A、数据库是一个DBF文件 B、数据库是一个关系 C、数据库是一个结构化的数据集合 D、数据库是一组文件 我的答案:C 10、下列说法中,不属于数据模型所描述的内容的是... -
1.3.5 给定一个整数数组和一个整数,返回两个数组的索引,这两个索引指向的数字的加和等于指定的整数。需要最优的算法,分析算法的空间和时间复杂度 1.3.6 假如给你一个新产品,你将从哪些方面来保障它的质量? ...
-
在一小时内学会 C#(txt版本)
2009-08-19 18:09:374. C# 中没有全局变量或全局函数,取而代之的是通过静态函数和静态变量完成的。 数据类型 所有 C# 的类型都是从 object 类继承的。有两种数据类型: 1. 基本/内建类型 2. 用户定义类型 以下是 C# 内建类型的... -
C语言FAQ 常见问题列表
2010-10-28 16:41:29o 7.15 当我向一个接受指针的指针的函数传入二维数组的时候, 编译器报错了。 o 7.16 我怎样编写接受编译时宽度未知的二维数组的函数 ? o 7.17 我怎样在函数参数传递时混用静态和动态多维数组 ? o 7.18 当数组... -
C++程序员面试宝典
2013-04-01 13:36:19面试题88 数组指针与指针数组的区别 92 8.2 函数指针 93 面试题89 什么是函数指针?如何使用函数指针 93 面试题90 指针函数和函数指针的区别 95 8.3 this指针 96 面试题91 什么是this指针 96 面试题92 何时使用this... -
java 面试题 总结
2009-09-16 08:45:34ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector... -
计算机要学哪些东西----(还有附赠哦)
2010-11-21 12:50:47CS(计算机科学)知识体系 ...6. 编写使用以下各种数据结构的程序:数组、记录、字符串、链表、栈、队列和哈希表。 7. 比较并说明动态和静态数据结构实现的代价和收益的不同。 8. 为指定问题的建模选择适当的数据结构。 -
C++复习资料之系列
2008-12-30 21:35:45后,下面描述错误的是( a )。 (a) p的值为10 (b) p指向整型变量i (c) *p表示变量i的值 (d) p的值是变量i的地址 15.执行语句 int a = 5,b = 10,c;int *p1 = &a, *p2 = &b; 后,下面不正确的赋值语句... -
C#微软培训教材(高清PDF)
2009-07-30 08:51:1711.3 静态和非静态的方法.129 11.4 方法的重载.130 11.5 操作符重载.134 11.6 小 结.137 第十二章 域 和 属 性 .139 12.1 域 .139 12.2 属 性 .143 12.3 小 结 .146 第十三章 事件和索引指示器 .148 ... -
C#微软培训资料
2014-01-22 14:10:1711.3 静态和非静态的方法.129 11.4 方法的重载.130 11.5 操作符重载.134 11.6 小 结.137 第十二章 域 和 属 性 .139 12.1 域 .139 12.2 属 性 .143 12.3 小 结 .146 第十三章 事件和索引指示器 .148 ... -
数据结构(C++)有关练习题
2008-01-02 11:27:18请编写一个函数将这个线性表原地逆置,即将数组的前n个原地址内容置换为(en-1,en-2,…,e3,e2,e1,e0)。 2、 针对带附加头结点的单链表,试编写下列函数: A. 定位函数Locate:在单链表中寻找第i个结点。若找到... -
计算机二级公共基础知识
2011-04-30 14:00:09数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了数据元素之间... -
Visual C++ 2005 入门经典 详细书签版
2013-02-02 16:39:434.3.4 多维数组的动态分配 176 4.4 使用引用 177 4.4.1 引用的概念 177 4.4.2 声明并初始化引用 177 4.5 C++/CLI编程 178 4.5.1 跟踪句柄 178 4.5.2 CLR数组 180 4.5.3 字符串 195 4.5.4 跟踪引用... -
Visual C++ 2005入门经典--源代码及课后练习答案
2013-02-02 16:42:044.3.4 多维数组的动态分配 176 4.4 使用引用 177 4.4.1 引用的概念 177 4.4.2 声明并初始化引用 177 4.5 C++/CLI编程 178 4.5.1 跟踪句柄 178 4.5.2 CLR数组 180 4.5.3 字符串 195 4.5.4 跟踪引用... -
java面试宝典
2013-02-28 16:04:0193、以下关于SessionFactory的说法哪些正确?(B,C) 21 94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,...
收藏数
51
精华内容
20
-
支付宝架构师眼里的高可用与容灾架构演进
-
使用VS2019 开发Linux C++ 程序
-
WLAN中共存的802.11a / n和802.11ac客户端:优化和区分
-
使用内置传感器的LED进行LED热阻和TIM评估的研究
-
APPKIT打造稳定、灵活、高效的运营配置平台
-
常用的分布式事务解决方案
-
illustrator软件Mac电脑入门学习必备
-
使用 Linux 平台充当 Router 路由器
-
linux基础入门和项目实战部署系列课程
-
Jenkins软件开发持续集成及自动构建
-
【布道者】Linux极速入门
-
PHP安装教程
-
物联网之mqtt实现(emqx+springboot+mqtt附源码)
-
2018年上半年 信息系统管理工程师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
从 Notbook 到 JupyterLab, 再配上代码帮手 Kite
-
Liunx 优化思路与实操步骤
-
保真度与量子绝热演化之间的广义关系
-
无线计算卸载的能量和时间优化
-
基于流形结构的图像地理信息标注方法
-
数据仓库多维数据模型设计