C语言知识点
文章平均质量分 69
浮于尘世
这个作者很懒,什么都没留下…
展开
-
C语言的预处理、编译、汇编、链接
一、预处理预处理指令的执行主要包含下列事情:1.头文件的包含2.注释的删除3.宏定义的替换4.条件编译的选择指令:gcc -E test.c -o test.i /* 调用的是预处理器cpp, -E:只进行预处理操作,-o:输出到 , .i表示产生的临时文件 Intermediate */二、编译编译之前,C语言编译器会进行词法分析、原创 2014-04-05 09:52:33 · 1905 阅读 · 0 评论 -
C语言排序
1.冒泡排序:原创 2014-04-07 18:19:12 · 471 阅读 · 0 评论 -
C语言常用字符串函数的实现二
8.字符串反转函数:char * Reverse(char* str){ int len = strlen(str); char temp; for (int i = 0; i { temp = aStr[i]; aStr[i] = aStr[len -i -1]; aStr[len -i -1转载 2014-04-06 00:15:18 · 536 阅读 · 0 评论 -
大小端模式详解
大小端模式详解端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian(这句话最为形象)。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在转载 2014-04-05 10:02:18 · 563 阅读 · 0 评论 -
数组名的理解
数组名的理解:一:一维数组int a[5]数组名a代表数组首元素的地址,其类型为int *类型.注意:和sizeof搭配使用,a表示整个数组整体,sizeof(a) == 5 * 4. &a:对一维数组名取地址,其指向整个数组,所以其类型为int (*)[5],指向整个一维数组的指针(与二维数组名相同),如果你将它赋值给一个指针变量时只能赋值给一个 int(*p)原创 2014-04-05 10:05:06 · 562 阅读 · 0 评论 -
C语言if判断是否为0的问题
【引用】和零值比较:布尔变量、整型变量、浮点变量、指针变量1.布尔变量和零值比较假设布尔变量名字为flag,它和零值比较的标准if语句如下:if(flag) //表示flag为假if(!flag) //表示flag为真根据布尔类型(boolean)的语义,0为假,任何非零值都是真。可用TRUE和FLASE来表示”真“和”假“的两个概念。语言实现必转载 2014-04-05 15:30:20 · 10986 阅读 · 0 评论 -
C语言常用字符串函数的实现一
1.strcpy;函数的原型为char *strcpy(char *strDest, const char *strSrc);strcpy的实现经常要注意的细节是:(1)判断地址是否为空,个人感觉可以使用断言(2)参数只有两个地址,没有拷贝的长度。拷贝到'\0‘时就会终止,要保证最终dest末尾是'\0'。(3)要保证目标字串的长度足够,能够容纳原串的长度。(4)因为拷转载 2014-04-05 22:43:59 · 574 阅读 · 0 评论 -
字符指针数组
char *a = "hello world";a的数据类型为char *,其指向的数据类型为char,指向该字符串的首元素h的地址在对字符指针初始化赋值时可以将一个字符串赋值给它,但指针变量只是向该字符串的首元素的地址,如果要访问该字符串其它的字符,需要通过指针偏移来实现.若要打印整个字符串,printf("%s\n", a);会打印出字符指针变量a在初始化赋值的字符串char原创 2014-04-05 10:06:55 · 855 阅读 · 0 评论 -
字符变量连续读取需注意补零的问题
C语言允许对整形变量赋以字符值,也允许对字符变量赋以整形值。在输出时,允许把字符变量按整形输出,也允许把整形量按字符量输出。来看一下这个例子:原创 2014-06-25 09:17:50 · 485 阅读 · 0 评论