编程基础
文章平均质量分 68
威猛の小脑斧
这个作者很懒,什么都没留下…
展开
-
(编程基础)函数指针
函数指针,简而言之就是指向函数的指针,引用wiki上的标准解释如下:A function pointer (or subroutine pointer or procedure pointer) is a type ofpointer supported by third-generation programming languages (such as PL/I,原创 2013-11-24 22:03:25 · 867 阅读 · 2 评论 -
(编程基础)c语言格式码和修饰符
#include #include int main(){ int a = 2; int b = -32; char c = -32; int d = 108; char *e = "hello world"; int f = 'f'; double g = 3.14159; double h = 123456789;原创 2013-11-29 14:15:17 · 1229 阅读 · 0 评论 -
(编程基础)从大小写转换看define的用法
库函数toupper和tolower有一段不为人知的历史,具体的实现有如下几个阶段:阶段一:#include #define toupper(c) ((c) + 'A' - 'a')#define tolower(c) ((c) + 'a' - 'A')int main(){ printf("A = %d, a toupper result is: %d\n", '原创 2013-11-28 20:25:17 · 1651 阅读 · 0 评论 -
(编程基础)整数溢出的检测
检测整数溢出有如下三种方法:#include #include int main(){ printf("%x\n", INT_MAX); int a = INT_MAX; int b = 1; int B = b + a; printf("B = %d(%x)\n", B, B); if (a + b < 0) { p原创 2013-11-28 14:45:06 · 2387 阅读 · 0 评论 -
(编程基础)指针和数组
指针和数组的区别:(1)数据:指针保存数据的地址;数组保存数据的值(2)访问:指针间接访问,首先取得指针的内容,把它作为地址,根据地址提取数据;数组直接访问数据(3)用途:指针通常用于动态的数据结构,数组通常用于存储数目固定且数据类型相同的元素(4)空间:指针使用malloc和free申请和释放空间,数组隐式分配和删除(5)数据名:指针通常指向匿名数据,数组自身即为数据名原创 2013-11-26 16:14:46 · 536 阅读 · 0 评论 -
(编程基础)NULL,NUL,\0,0
这几个东西很容易让人混淆,我这里解释一下:NULL:用于表示空指针,即什么也不指向,属于char *类型。NUL:用于结束一个ASCII字符串,跟'\0'的作用一样,默认头文件没有定义NUL,所以不能直接使用,属于char类型,也可以说属于int型。\0:用于结束一个ASCII字符串,这个我们平时用的比较多,属于char类型,也可以说属于int型。0:int型,是\0的ASCI原创 2013-11-26 13:08:47 · 671 阅读 · 0 评论 -
(编程基础)break的用法
“break的作用是跳出最近的那层循环,或者是switch语句” ----break的误用导致了1990年1月15日 AT&T 114年历史上第一次重大的网络故障,整个电话网络瘫痪了大约9个小时。break的用法看似简单,实则我们在平时工作中误用的次数还不少,一个测试的例子如下:#include int main(){ //quit while int原创 2013-11-26 13:34:52 · 1886 阅读 · 0 评论 -
(编程基础)c语言const浅析
一个面试官问你const的作用,如果你回答“可以把变量变成常量”,那么你差不多就被pass掉了。在一个符号前加上const限定符只是表示这个符号不能被赋值,也就是说这个值对应这个符号来说是只读的,但是并不能防止通过程序的内部来修改这个值,给个简单的例子如下:#include int main(){ const int n = 1; printf("befo原创 2013-11-26 12:13:54 · 635 阅读 · 0 评论 -
(编程基础)define和typedef的区别
define和typedef有两个主要的区别:(1)可以使用其他类型说明符对宏类型名进行扩展,但是对typedef所定义的类型名不能扩展(2)在连续的几个变量的声明中,用typedef定义的类型可以保证声明中所有的变量均为同一种类型,但是define无法保证具体的两个区别如下:#include int main(){ #define define_int_pt原创 2013-11-26 15:34:18 · 663 阅读 · 0 评论 -
(编程基础)c语言递归
#include int fibonacci(int n){ if (n <= 2) return 1; return fibonacci(n - 1) + fibonacci(n - 2);}int main(){ int n = 5; printf("fibonacci = %d\n", fibonacci(n)); ret原创 2013-11-25 21:33:16 · 699 阅读 · 0 评论 -
(编程基础)void main的误用
很多同学喜欢用void main(),认为是无返回的main函数,这样用可能有如下几种可能:(1)为了省事,可以少写返回值(小弟以前就属于这种)sample_widi.c(2)看到KRC里面用main(),以为就是void main(),主要因为KRC的时候还没有完善的C语言标准,这个用法在C99里面已经明确禁止了,而且C++之父stroustrop也有说明void main()从来都不是原创 2013-12-06 17:11:14 · 872 阅读 · 0 评论