① strcpy
char* copy(char *dst,const char *src)
{
assert(dst && src);//==assert(dst != NULL);assert(src != NULL);
char* tmp = dst;
while (*dst++ = *src++);//==while(*src != '\0') {*dst = *src;dst++;src++}
return tmp;
}
int main()
{
char arr1[20] = { 0 };
char arr2[] = "Kick ur ass";
printf("%s\n", copy(arr1, arr2));
return 0;
}
②strlen
含计数器
int length(const char* arr)
{
assert(arr);
int c = 0;
while (*arr++ != '\0')
c++;
return c;
}
int main()
{
char arr[] = "Kick ur ass.";
printf("%d\n", length(arr));
return 0;
}
不含计数器:
int length (const char* arr)
{
assert(arr);
const char* tmp = arr;
while (*tmp++ != '\0');
return tmp - arr - 1;
}
int main()
{
char arr[] = "Kick ur ass.";
printf("%d\n", length(arr));
return 0;
}
③memset
void *memset( void *dest, int c, size_t count );
dest: Pointer to destination 目标指针
c: Character to set 要set的字符
count: Numbers of characters 要set的字符的总数
由定义知 该函数适合用于初始化数组