2012 11 04学习记录

来源:互联网 发布:雷蒙德罗维 知乎 编辑:程序博客网 时间:2024/06/09 22:40

1、头文件不能包含C函数,除非是内敛函数。

头文件布局格式

版权声明

#ifndef ***

#define

头文件;

宏;

结构体定义或结构体声明;

内联函数(函数代码不超过10行);

函数声明;

#endif

2、在32位系统中sizeof(指针)=4

一般char *c=”hello”;

sizeofc=4

Char c[]=”hello”;

那么,sizeofc=数组的长度+1=6

原理:第一个,定义一个指针变量,指针指向的是“hello”,而单独的指针在32位系统 下就是4个直接;

第二个,就是求数组的大小,这里就不讲了。

注意,这个知识点招聘常考。

3、利用goto反向操作来处理函数之前带来的错误。

4、Var=5

56位位1

BIT=0x02<<5;

var|=BIT;

若要将var56位反转,那么先将11左移5位,然后再与var异或;

var^=(0x03<<5)

使用宏实现位操作:

#define CLR_BIT(var,bit)   var &=(~(1<<(bit)))    //set a bit to 0

#define SET_BIT(var,bit)   var |=(1<<(bit))        //set a bit to 1

#define GET_BIT(var,bit)   (var>>(bit)) & 1       //get  a value of bit

#define INV_BIT(var,bit)   var ^=(1<<(bit))  //inverte a bit

如果你想要把某两位置为10或者01,那么你要先将那两位置0,或者置1,然后再将 对应为置为1,或者0

5、linuxSVN简单操作:

svn add file)        添加文件

svn ci -m”massage”       上传文件到服务器,并添加massage

svn lock -m“LockMessage“   svn unlock PATH     加锁/解锁

删除文件

svn delete path -m “delete test fle“

例如:svn delete svn://192.168.1.1/pro/domain/test.c -m “delete test file”

或者直接svn delete test.c 然后再svn ci -m ‘delete test file‘,推荐使用这种

简写:svn (del, remove, rm)

6、操作单向链表

遍历链表:

for(ptr=head; ptr-next!=NULL; prt=ptr->next)

   

判断链表是否为空:比如 line *list

if(!list)

Return 1;

int is_empty_list(line *list)

{

if(!list)

return 1;

return  !head->next;

}

清空链表:memset(list,0,sizeof(line));

在链表末添加一个元素:

Int add_item_tail(list *head, list *node)

{

List *ptr = NULL;

For(ptr=head; ptr->next!=NULL; ptr->next)

;

Ptr->next=node;

Node->next=NULL;

}

在链表中删除head后一个节点:

int del_item_head(list *head)

{

list *ptr=NULL;

ptr=head->next;

head->next=ptr-next;

free(ptr);

}

删除链表:

int del_list(list *head)

{

list *ptr;

for(ptr=head->next; NULL!=ptr; ptr=head->next)

{

head->next=ptr->next;

free(ptr);

}

}

结构体赋值

int cpoy(list *dest,list *src)

{

dest=src; //C99标准

}

7、双向链表

添加新元素:不论是什么链表,一个原则,先加上新的,再剪断旧的;

A

data

p

next

B

data

p

next

C

data

p

next

先是new->next=B->data;   new->p=A->data;    A->next=new->data;    B->p=new->data

删除元素:原则:先让新指针指向要删除的元素,然后以先下行,再上行,或者先下行,再上行,最后free

。。。

。。。

原创粉丝点击