C语言学习
文章平均质量分 66
bladeLight
这个作者很懒,什么都没留下…
展开
-
多设置一个存储位置
//这里有两个地方需要注意 //1.marble+N指向数组结尾处之后的下一个元素,如果让end指向最后一个元素的话,则 //应为sum(marble,marble+N-1);而且函数应该改为while(begin<=end),这种写法不整洁 //而且不容易被记住,容易导致编译错误。这让我想到,c++中的迭代器iterator设计的时 //候也是遵循的这个原则 //2.*和++具有相同的优先级,它原创 2012-11-22 15:26:48 · 356 阅读 · 0 评论 -
数组和指针的区别
//这里说明了指针和数组的不同 //ar本身并不是一个数组,它是一个指向marbles首元素的指针 #include #include #define SIZE 10 int sum(int ar[],int n); int main() { int marbles[SIZE]={20,10,5,39,4,16,19,26,31,20}; long answer; ans原创 2012-11-22 15:03:12 · 344 阅读 · 0 评论 -
int strcmp(const char* s1,const char* s2)
自己实现了一下strcmp,代码如下: int strcmp(const char* s1,const char* s2){ while(*s1!='\0'&&*s2!='\0'){ if(*s1<*s2) return -1; else if(*s1>*s2) return 1; els原创 2013-01-07 17:51:15 · 5401 阅读 · 0 评论 -
通过二级指针插入节点
这是在编程珠玑的习题上看到的,P214第四题 节点的定义如下: struct node{ int val; node *next; node(int v,node *p){val=v; next=p;} };另外初始化的过程中,初始化头结点,head=new node(maxval,0)其中maxval表示一个最大值 通常的插入函数都会这样来写: void insert(int t)原创 2013-07-21 15:54:12 · 941 阅读 · 1 评论