为力新国际

发布 2022-09-18 21:17:28 阅读 4325

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光票汇...