- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 int *ptrl=(int*)(&a+1); int *ptr=(int*)((int)a+1) 这两个定义有什么区别
int main() { int a[4] = { 1, 2, 3, 4 }; int *ptr1 = (int *)(&a + 1); int *ptr2 = (int *)((int)a + 1); printf( "%x,%x", ptr1[-1], *ptr2); return 0; } 这是源代码,输出结果是4,20000000, 第一个ptr[-
2016-11-22 13:39:09 1680
原创 C语言 memmove函数实现
void *my_memmove(void *dest, void *src ,size_t n) { void *ret=dest; assert(dest!=NULL && src!=NULL); if (dest= ((char *)src+n)) { while (n--) { *(char *)dest=*(char *)src; dest
2016-11-16 22:12:55 883
原创 C语言 strlen实现的三种方式
int my_strlen(const char* dest) //strlen第一种方式 { int count=0; assert(dest); while(*dest!='\0‘) { dest++; count++; } return count; } 运用计数器 int my_strlen(const char* dest) //strlen第
2016-11-16 22:00:06 617
原创 C语言 判断一个字符串是否为另外一个字符串旋转之后的字符串
#include #include #include int check_s(char* str1, const char* str2) { assert(str1); assert(str2); strncat(str1, str1, strlen(str1)); if(strstr(str1, str2)==NULL) { return 0; }
2016-11-11 22:16:09 410
原创 模拟实现一个printf,函数可以实现my_printf("s ccc.","hello", 'n','i','h','a','o');//遇到s表示字符串
#include #include #include #include my_printf(const char* dest,...) { va_list arg; char *p=NULL; assert(dest); va_start(arg,dest); while(*dest) { if(*dest!='\0') { if (*de
2016-11-09 16:07:15 490 1
原创 C语言 定义一个宏,用于交换一个二进制序列的奇数位和偶数位
#include #define SWAP_BIT(NUM) NUM=((((NUM)&0x5555555555)>1))
2016-11-06 19:05:25 657
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人