一.优秀的代码
1.代码运行正常;
2.bug很少;
3.效率高;
4.可读性高;
5.可维护性高;
6.注释清晰;
二.常见的代码技巧
1.使用assert;
2.尽量使用const;
3.添加必要的注释;
三.举例:通过实现my_strcpy
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
基础实现:
void my_strcpy(char* dest, char* src)
{
while (*src!='\0')
{
*dest = *src;
src++;
dest++;
}
*dest = *src;
}
进阶实现:
void my_strcpy(char* dest, char* src)
{
if (dest != NULL && src != NULL)//判断传过去的不是空指针
{
while (*dest++ = *src++)
{
;
}
}
}
代码升级:引用asssert断言判断指针
#include<assert.h>
void my_strcpy(char* dest, char* src)
{
assert(dest != NULL);//断言
assert(src != NULL);//断言
while (*dest++ = *src++)
{
;
}
}
代码最终升级:通过查文档,strcpy的返回值类型为char*
#include<assert.h>
char* my_strcpy(char* dest, const char* src)
{
char* ret = dest;
assert(dest != NULL);//断言
assert(src != NULL);//断言
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
//strcpy
//字符串拷贝
char arr1[] = "#########";
char arr2[] = "bit";
//my_strcpy(arr1, arr2);
printf("%s\n",my_strcpy(arr1, arr2); );
return 0;
}
const的作用