C
看个人资料
毕业于哥伦比亚大学
展开
-
Strcpy源码
void MyStrcpy(char *Dst,const char *Src){ assert(Dst != NULL && Src != NULL); while((*Dst++ =*Src++)!='\0');}原创 2016-11-29 10:39:14 · 253 阅读 · 0 评论 -
有序链表创建
struct ListNode{ int val; ListNode *next;};void printList(ListNode *head){ ListNode *p; p = head->next; while(p) { cout val<<endl; p = p->next; }}void createSeqList(ListNode *head,in原创 2016-11-29 13:02:32 · 385 阅读 · 0 评论 -
两个指针相减
int a[]={6,7,8,9};int *b;b = a;b++;printf("%d,%d,%d",b-a,*b,((int)b-(int)a));b-a两个指针相减,表示b指向的地址与a地址之间能够存储多少个int变量,b++默认是b指向的地址加4,4/sizeof(int)=1,能够存储一个 整型变量; 所以答案是1,7,4.原创 2016-12-17 12:43:43 · 1196 阅读 · 0 评论 -
printf源码
int printf(const char *fmt, ...){ int i; int len; va_list args; va_start(args, fmt); len = vsprintf(g_pcOutBuf,fmt,args); va_end(args); for (i = 0; i < strlen(g_pcOutBuf); i原创 2017-01-18 10:42:00 · 5725 阅读 · 0 评论 -
乘除取余转为位运算
取模运算转化成位运算 (在不产生溢出的情况下) a % (2^n) 等价于 a & (2^n - 1)乘法运算转化成位运算 (在不产生溢出的情况下) a * (2^n) 等价于 a除法运算转化成位运算 (在不产生溢出的情况下) a / (2^n) 等价于 a>> n 例: 12/8 == 12>>3 a %原创 2017-03-08 09:13:59 · 1514 阅读 · 0 评论 -
源码分析
记在这里以免忘记了,ios,andriod,PC,QT ,shadowsocks原创 2017-04-08 14:55:43 · 159 阅读 · 0 评论 -
神马时候使用内联函数?
函数体代码很短,又被频繁调用的函数,就用内联函数!原创 2017-04-20 09:37:43 · 328 阅读 · 0 评论