stack空间有限,heap是很大的自由存储区。
c中的malloc函数分配的内存空间即在堆上,c++中对应的是new操作符。
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。
7. 写一个“标准”宏,这个宏输入两个参数并返回较小的一个。
#define min(x, y) (x)>(y)?(y):(x))
8. void class::function() const中const的用途。
该函数中不能对成员变量的值作修改。
8. char a1 abcd";
sizeof( a1结果为5,字符串末尾还存在一个null终止符。
int a2[3];
sizeof( a2结果为3*4=12(依赖于int)
char* pc = abcd";
sizeof( pc结果为4,指针在32位系统中占4个字节。
9. 已知类string的原型为:
class string
else/ 拷贝构造函数。
string::string(const string &other)
int length = strlen(
m_data = new char[length+1]; 若能加null 判断则更好。
strcpy(m_data,
/ 赋值函数。
string & string:operate =(const string &other)
// 1) 检查自赋值。
if(this ==other)
return *this;
// 2) 释放原有的内存资源。
delete m_data;
// 3)分配新的内存资源,并复制内容。
int length = strlen(
m_data = new char[length+1]; 若能加null 判断则更好。
strcpy(m_data,
// 4)返回本对象的引用。
return *this;
10. 排序二叉树插入一个节点,其节点定义如下:
typedef struct node
bstnode;
bstnode *bstsearch(bstnode *t,int k)
if (t==null) else
12. 编写一个标准strcpy函数。
void strcpy(char *strdest, const char *strsrc)
13. 编写单向链表的删除操作,链表节点定义如下:
struct node
为力新国际
一 选择题 每小题2分,共30分 1.下面对于指针的描述不正确的是 a.指针是地址变量 b.指针不能用除0以外的常量赋值 c.两个指针变量的加减法无意义 d.指针指向不同基类型的变量长度不同 2.下面对于析构函数的描述中不正确的是 a.析构函数是内置函数b.析构函数与类名相同 c.析构函数不能有参数...
为力新国际
1.const int a,const int a,int const a多代表什么意义?const int a 常量,a的值不可以修改。const int a a是一个指向常量整形的指针,整形数不可以修改,指针可以改。int const a 指向整形数的常指针,指针不可以修改,指针指向的整形数可以...
新国际结算
单项选择。第一章。1.实现货物或代表货物所有权的单据与货款对流的形式是 b a支付条件 b支付方式 c支付程序 d支付原则。2.在光票汇票结算阶段出现了以汇票结算为基础的 a a商人信用证 b银行信用证 c跟单信用证 d议付信用证。3.英国放弃英国惯例采用 跟单信用证统一惯例 的时期是 d a光票汇...