C语言相关知识笔记

一、gcnew与new的区别

C /CLI中使用gcnew关键字表示在托管堆上分配内存,并且为了和以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下:

 

  1. gcnew返回的是个句柄(Handle),而new返回的是实际的内存地址. 

  2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.

 

二、fflush(stdin)

清空输入缓冲区,通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一 个字符,此时应该先执行fflush(stdin);)

 

三、scanf()与getChar()的区别

前者没有'/0'结尾符,而后者有。

 

二、strcpy_s与strcpy

前者属于系统安全函数,是以字节为单位的参数,它用来确认缓冲区大小。

strcpy没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值