C/C++基础面试集锦(一)strcpy、memcpy
**一、strcpy函数实现方法**
char* strcpy(char *dest, const char *src)
{assert((dest != NULL) && (src != NULL));char *DesSrc = dest;while((*dest++ = *src++)!='\0');return DesSrc;
}
二、获取字符串长度函数实现方法
代码一int getStrLen1(const char *strSrc)
{int len = 0;while(*strSrc++ != '\0')len++;return len;
}
代码二int getStrLen2(const char *strSrc)
{int len = 0;const char *strDe = strSrc;while(*strSrc++ !='\0');len = (strSrc-strDe-1);return len;
}
三、memcpy函数实现方式
void *memcpy(void *dest, const void *src, size_t n)
{assert((dest != NULL) && (src != NULL));char *tempFrom = (char*)src;char *tempTo = (char*)dest;while(n-- >0)*tempTo++ = *tempFrom++;return dest;
}
心得:
C/C++开发者更忌讳眼高手低,初级程序员每天写的不是代码而是bug,基础的东西面试的时候你也许连及格分都达不到,虽然或许你已经入行几年。
总结:
strcpy与memcpy不同存在于:strcpy只复制字符串,而memcpy可以复制任何内容(字符数组、结构体、类)等。strcpy不需要指定长度由结束符”\0”而结束战斗的,memcpy由第三个参数所决定
strcpy返回值为char*是为了链式表达式,先复制后计算长度。
上面获取字符串长度函数中有两种方法,第二种要比第一种更高效,至于为啥?相信仔细思考便知,这正是我们C/C++开发者追求卓越所需不断思考的
C/C++基础面试集锦(一)strcpy、memcpy相关推荐
- 大数据分析工程师面试集锦5--Spark面试指南
点击上方"大数据与人工智能","星标或置顶公众号" 第一时间获取好内容 作者丨斌迪.HappyMint 编辑丨Zandy 导语 本篇文章为大家带来spark面试 ...
- 机器学习算法工程师面试集锦(更新中)
机器学习算法工程师面试集锦(更新中) 面试问题汇总 常用的损失函数 介绍交叉验证 特征选择方法 机器学习项目的一般步骤 经验风险最小化与结构风险最小化 训练决策树时的参数是什么 在决策树的节点处分割标 ...
- 2018年三四月份---Android面试集锦
本面试集锦主要包含:数据库.项目.基本算法.Java基础知识和高级.Android知识点. [基础知识] 1.线程和进程的区别 线程 cpu调度的最小单位. 拥 ...
- JAVA基础面试题目
精选30道Java笔试题解答 http://www.cnblogs.com/lanxuezaipiao/p/3371224.html 经典的Java基础面试题集锦 http://www.codeceo ...
- BAT面试必知:DubboZookeeper面试集锦
技术面试是每一位程序员都会经历的一件事情,技术面试官会通过自己的方式去考察程序员的技术功底与基础理论知识,这个过程被有的程序员成为"造火箭式的技术轰炸",不同程序员的面试经历与体验 ...
- Java基础面试16问
来自三太子敖丙的Java基础面试16问 原文地址 ** 说说进程和线程的区别? ** 进程是程序的一次执行,是系统进行资源分配和调度的独立单位,他的作用是是程序能够并发执行提高资源利用率和吞吐率. 由 ...
- 分享18道Java基础面试笔试题
转载自 分享18道Java基础面试笔试题(面试实拍) 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求? 2.请简述http协议中get请求和post请求的区别. 3.请简 ...
- JAVA多线程和并发基础面试问答(转载)
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...
- 这些Java基础面试知识点,你都掌握了吗?
想了解一下学Java的小伙伴们,在学习Java的时候有没有去总结知识点,哪些知识点我们没有掌握,哪些知识点是我们还没有掌握的,今天小编来发掘一些Java基础面试知识点,不知道大家掌握没有. 小编分享的 ...
最新文章
- 超强Redis数据类型与应用场景总结!!
- 军事科学院医学研究院认知与脑科学研究团队2020年诚聘启事
- Spring_JDBC连接
- mysql 必读_MYSQL 调优和使用必读
- swift -自定义返回图片,替换系统图片backItem
- MySQL笔记-MDL锁(metadata lock)
- Qt工作笔记-使用SQL中的LIMIT进行数据分页
- 源代码电影涉及的计算机思想,关于电影源代码的结局解释
- 2017年7月9 号小计
- byte[] 转Hex String
- 普通人快速拿到校招offer的十大狠招
- Python基础语法-05-装饰器
- WF4.0 RC 对比 Beta2 的变化
- 面试题笔试-带答案-1
- 01-2制作U盘启动盘--装机助理工具
- 关于mac打开互联网下载应用提示的解决方法
- Windows 编程之 WINUSERAPI 和 WINAPI 区别
- NFT游戏开发NFT平台开发元宇宙对战游戏开发三国版元宇宙NFT游戏
- tp在计算机软件方面是什么意思,tp屏幕什么意思
- 你有多久没有体会过“饥饿”的感觉?写在袁隆平仙逝的第7天