- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 《c和指针》笔记--不能小看了fopen的mode参数
r+具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容。 w+具有读写属性,写的时候如果文件存在,会被清空,从头开始写。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 a 以附加的方式打开只写文件。若文件不存在
2013-05-26 14:50:40
1454
转载 《c和指针》笔记--printf()用法
本文转载于:http://hi.baidu.com/bali_bao/item/f90a4f76121b113a6dc37c4b printf()用法详解 一、printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("",);
2013-05-23 21:09:58
1650
原创 《c和指针》笔记--梳理一下fgetc,getc,getchar,fputc,putc,putchar....
输入输出函数家族 家族名 目的 可用于所有的流 只用于stdin和stdout getchar 字符输入 fgetc,getc getchar putchar 字
2013-05-20 22:47:15
2945
原创 《c和指针》笔记--#line宏
宏#line改变_LINE_与_FILE_的内容,它们是在编译程序中预先定义的标识符。 基本形式如下: # line number [ "filename"] 其中的数字为任何正整数,可选的文件名为任意有效文件标识符。行号为源程序中当前行号,文件名为源文件的名字。宏#line主要用于调试及其它特殊应用。 #include int main(void
2013-05-19 10:48:19
1669
转载 《c和指针》笔记--getopt函数
本文章基于http://jesserei.blog.163.com/blog/static/121411689200983081421390/ ,稍微进行了修改 通常 Linux 下的各种命令都有许多的命令行参数可以选择,比如: gcc -g -lm foo.c -o foo getopt()就是用来分析命令行参数的函数。 在继续讨论getopt 之前,先要明确两个概念:选项(optio
2013-05-18 12:36:32
1114
原创 《c和指针》笔记--宏插入到字符串常量
方法一: #include #define PRINT(FORMAT,VALUE) \ printf("the value is "FORMAT"\n",VALUE); int main(void){ int x = 6; PRINT("%d",x+2); return 0; } 运行结果: the value is
2013-05-18 10:53:03
2030
1
原创 《c和指针》笔记--简洁的单项链表插入操作
单项链表插入操作,我想应该是最基础不过的东西,今天要介绍的是比较简洁的版本。 需求:插入一个node到链表的正确位置,当前链表中节点的value已经按照由小到大进行排列。 传统的插入操作: int insertNode(Node** rootp,int new_value){ Node *current; Node *previous; Node *new; current
2013-05-17 20:03:23
1942
原创 《c和指针》笔记--包含位域结构体的内存对齐(32bit,GCC)
C99规定int、unsigned int和bool可以作为位域类型。但编译器几乎都对此作了扩展,允许其它类型类型的存在。 如果结构体中含有位域(bit-field),总结规则如下:(以下代码在x86 32bit系统上测试,gcc 4.1.2) 1) 如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止 例: s
2013-05-12 14:21:18
1674
原创 《c和指针》笔记--strsep淘汰strtok
strsep和strtok是c语言中对字符串进行分割的函数,关于具体用法本篇不做详细说明。 这里只说明下2个函数的不同和相同之处。 1.strsep淘汰strtok 注:摘自Linux内核2.6.29,说明了这个函数已经不再使用,由速度更快的strsep代替。 /* * linux/lib/string.c * * Copyright (C) 1991, 19
2013-05-11 15:28:55
2848
原创 《c和指针》笔记--八皇后问题
八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。 一共有92种答案。 c代码实现如下: #include #define SIZE 8 static int board[SIZE][SIZE]; void insertQue
2013-05-10 22:22:20
1516
原创 《c和指针》--再谈多维数组
#include int main(void){ int a[2][3]; printf("%p\n",a); printf("%d\n",sizeof(a)); printf("%p\n",a+1); printf("%d\n",sizeof(a+1)); printf("%p\n",*(a+1)
2013-05-06 21:50:20
1216
转载 shell算术运算
本文转载于:http://blog.sina.com.cn/s/blog_674b5aae0100o2mn.html Bash shell 的算术运算有四种方式: 1:使用 expr 外部程式 加法 r=`expr 4 + 5` echo $r 注意! 4 + 5 这三者之间要有空白 `expr 4 + 5` 语句开始和结束都有一个`,和~位于同一个键
2013-05-06 20:08:25
966
转载 Linux命令之basename 命令
本文转载于:http://monkeymusic.blog.163.com/blog/static/4797639200912533652666/ 用途 返回一个字符串参数的基本文件名称。 语法 basename String [ Suffix ] 描述 basename 命令读取 String 参数,删除以 /(斜杠) 结尾的前缀以及任何指定的 Suf
2013-05-03 13:43:17
1068
原创 《c和指针》笔记--表达式作为左值或右值
下面的代码,大家猜下结果分别是多少? #include int main(void){ int i=1; int* cp = &i; printf("%d\n",++*cp++); return 0; } #include int main(void){ int i=1; i
2013-05-01 16:41:32
1258
哈弗曼编码实现文件压缩
2014-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人