面经问题汇总

一、strcpy和memcpy主要区别

1. 复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。

2. 复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。

3. 用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy。

二.进程间通信:
管道 信号量 共享内存 消息队列 套接字

三.有名管道:
有名管道(可以在任意两个进程之间通信)
无名管道(只能在父子进程之间进行通信)
(有一个读端和一个写端,缺一不可)

管道写端关闭,则读端返回值为0;
管道读端关闭,则写端会产生异常(会收到信号SIGPIPE)
管道为空, 那么读会阻塞
管道写满, 那么写会阻塞
面试常问:
1.有名管道和无名管道的区别:有名管道可以在任意两个进程之间通信;
无名管道只能在父子进程之间进行通信
2.写入管道的数据在哪里? 在内存中(不是在磁盘上)
3.管道的通信方式: 半双工(数据可以从a到b,也可以从b到a,但是某一时刻只能选择其中一个)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值