
c语言
nopoppy
本人在校大学生,刚开博客,用来记录自己的学习生活。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c语言中i++,++i的计算
i++,++i的含义: i++:使用完毕后在自加,既遇到结束标志(, 函数的() ;三种标志)后再自加。 ++i:先自加再使用 下面举几个例子来具体说明 int i = 2; int num; num = (++i) + (++i) + (++i) + (++i); printf("num = %d\t i = %d\n",num,i); return 0原创 2016-07-16 19:40:03 · 5272 阅读 · 3 评论 -
位操作运算符及应用
位操作运算符: 位与(&),位或(|),取反(~),位异或(^),左移(>) 按位与运算符“&”是双目运算符,其功能是参与运算的两个数字对应的二进制位相与。只有对应的两个二进制位均为1时,结果才为1,否则为0.参与运算的数以补码方式出现。 例如,9&5可写算式如下: 0000 1001(9的二进制补码)& 0000 0101 (5的二进制补码) 0000 0001 (1原创 2016-07-16 19:52:24 · 622 阅读 · 0 评论 -
不使用中间变量交换两个数的值
一.使用+/- int a = 1; int b = 2; a = a + b; b = a - b; a = a - b; 缺点:数值容易溢出 二.使用*和/ int a= 1; int b = 2; a = a * b; b = a / b; a = a / b 缺点:数值中不能有0 三.使用异或^ int a =1; int b= 2; a原创 2016-07-16 20:48:22 · 529 阅读 · 0 评论 -
野指针
首先举一个例子来说明什么是野指针 int main() { int *p; scanf("%d",p); printf("%d\n",*p); return 0; } 我们发现运行这段程序是会出现段错误,这是为什么呢? 因为指针p是一个野指针。 为什么说指针p是野指针呢? 因为我们没有给p初始化,原创 2016-07-16 20:52:43 · 318 阅读 · 0 评论 -
如何避免野指针
1.当定义的指针没有指向的时候,把它初始化为NULL。 原因:指向为NULL的指针不能做访问和操作; NULL比较明显,查看起来比较直观。 2.当想要往指针指向的空间赋值时,要检查是否分配了空间。(malloc) char *ptr; ptr = (char *) malloc (100 * sizeof(char)) //给指针分配100个空间原创 2016-07-18 20:46:32 · 243 阅读 · 0 评论 -
指针和数组的区别
指针和数组的区别: 1.空间分配:数组是静态分配,且分配的空间是连续的;指针是动态分配,分配的空间不一定是连续的。 2.安全性:使用数组可能会造成数组越界;指针使用时可能会造成内存泄漏。 3.访问效率:数组直接访问数据;指针是间接访问数据。 4.函数形参:一维数组用元素指针来接;指针用指针的指针来接。 5.处理数据:指针偏向于地址的处理;数组偏向于数据的处理。原创 2016-07-20 19:43:45 · 3119 阅读 · 0 评论 -
函数三要数,函数调用
函数三要素:函数名,函数形参,函数返回值 函数名:要具有自注释性,以便提高代码的可读性。 eg:del_ ch_count_min (删除字符串中出现次数最少的字符) 注:虽然可以用_注释,但连接的单词不能超过5个,可以用动词+名词来进行注释。 函数名也是一个指针常量,保存函数的入口地址(函数存放的地址) 函数调用的过程:原创 2016-07-20 20:05:07 · 532 阅读 · 0 评论