THE-C
LomOfWizard
抬头仰望星空
展开
-
C语言链表(1)——搜索
//head是链表的头指针,i 是要查找的数node *sch(node *head , int i){ node *re = NULL; //re指针用来返回元素的指针 //链表还没有到头的时候 while(head != NULL){ //如果找到了i if(head->num == i){ re = head原创 2015-07-27 16:44:49 · 512 阅读 · 0 评论 -
C语言中的数组与指针的关系
有时候我们会使用sizeof(a)/sizeof(a[0]) 的方法来防止数组的下标超出有效下标。 然而,这种方法用于作为参数的数组却行不通,无法得到正确的数组个数。有的编译器还会给出一个警告来。#include <stdio.h>void prtf(int b[]){ int i; for (i = 0; i < sizeof(b)/sizeof(b[0]); i++){原创 2015-07-18 21:36:07 · 504 阅读 · 0 评论 -
C语言中的次方运算
在C语言中进行次方运算的方法: 一: 利用循环进行幂运算:#include <stdio.h>int main(){ int i,k = 2; for(i = 1;i < 3;i++) { k *= 2; } printf("%d",k); return 0;}上述代码可以实现k的3次方运算。二: 利用math.h中的pow原创 2015-07-17 16:32:54 · 95748 阅读 · 0 评论 -
c中sizeof()运算符的问题
由于sizeof() 运算符的运算结果是在编译的时候决定的。因此,一下操作无法得到想要的结果。 int a = 0; printf("%d\n",sizeof(a++)); printf("%d\n",a);这这样做并不会让a加一。a打印出来的结果仍为0原创 2015-07-19 10:34:11 · 437 阅读 · 0 评论 -
C语言中逻辑运算符的陷阱
我们经常使用逻辑运算符来进行诸如此类的运算:if (a == b && b == c )这里使用&& 来保证两个表达式都为true时if里面的语句才被执行。 但是,必须注意的是,当使用类似于a==b&&b++ 时,只有a==b 是false则,b++不会被执行。C语言中存在类似的机制来提高代码的运行速度,但却因此带来了这样的问题:* 一但&&左边为假(此时就可以的判断整个表达式的值为false)原创 2015-07-20 13:45:16 · 615 阅读 · 0 评论 -
C语言链表(0)
链表,顾名思义,友链有表。 形象点说,看起来像这样 一格一格的是表,线是链,两者加起来就是”链表“了。两个格子在一起把它叫做node(节点) 当我们把它放到计算机里的时候,其实它更像是这样的。 因为计算机里并没有绳子,连接他们的是指针。把指针跟数据放,到一起,让每个数据后面的指针指向下一个数据,以此来造出一条虚拟的绳子。 再完善一下模型,便是这样子 接下来,用C语言来实现这个单向原创 2015-07-22 12:52:26 · 730 阅读 · 0 评论