strcpy,memcpy和next_permutation函数的实现,内存偏移量宏OFFSET的实现

1.char *strcpy(char *dest,const char *src)

为了保护源字符串,形参用const限定strSrc所指的内容,把const char *作为char *返回,类型不符,编译报错

/*
函数功能:复制字符串src 中的字符到字符串dest,包括空值结束符。
参数描述:
dest:目标字符串
src:源字符串
返回值:目标字符串的指针
*/

char *strcpy(char *dest,const char *src)    // 实现src到dest的复制
{
    if(NULL==dest || NULL==src)             //判断参数src和dest的有效性
    {
        return NULL;
    }

    char *start=dest;                        //目标字符串首地址
    while((*dest ++ = *src ++)!='\0');       //把src字符串的内容复制到dest下
    return start;
}

 

2.void *memcpy(void *memTo,const void *memFrom,size_t size)

void *memcpy(void *memTo,const void *memFrom,size_t size)
{
    if((memTo==NULL) || (memFrom==NULL))        //memTo和memFrom必须有效
    {
        return NULL;
  

你可能感兴趣的:(面试知识点)