- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 《c和指针》笔记--不能小看了fopen的mode参数
r+具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容。w+具有读写属性,写的时候如果文件存在,会被清空,从头开始写。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 a 以附加的方式打开只写文件。若文件不存在
2013-05-26 14:50:40 1349
转载 《c和指针》笔记--printf()用法
本文转载于:http://hi.baidu.com/bali_bao/item/f90a4f76121b113a6dc37c4bprintf()用法详解 一、printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("",);
2013-05-23 21:09:58 1542
原创 《c和指针》笔记--梳理一下fgetc,getc,getchar,fputc,putc,putchar....
输入输出函数家族家族名 目的 可用于所有的流 只用于stdin和stdout getchar 字符输入 fgetc,getc getcharputchar 字
2013-05-20 22:47:15 2844
原创 《c和指针》笔记--#line宏
宏#line改变_LINE_与_FILE_的内容,它们是在编译程序中预先定义的标识符。 基本形式如下: # line number [ "filename"] 其中的数字为任何正整数,可选的文件名为任意有效文件标识符。行号为源程序中当前行号,文件名为源文件的名字。宏#line主要用于调试及其它特殊应用。#include int main(void
2013-05-19 10:48:19 1609
转载 《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 1052
原创 《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 1946 2
原创 《c和指针》笔记--简洁的单项链表插入操作
单项链表插入操作,我想应该是最基础不过的东西,今天要介绍的是比较简洁的版本。需求:插入一个node到链表的正确位置,当前链表中节点的value已经按照由小到大进行排列。传统的插入操作:int insertNode(Node** rootp,int new_value){ Node *current; Node *previous; Node *new; current
2013-05-17 20:03:23 1839
原创 《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 1581
原创 《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 2766
原创 《c和指针》笔记--八皇后问题
八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。一共有92种答案。c代码实现如下:#include #define SIZE 8static int board[SIZE][SIZE];void insertQue
2013-05-10 22:22:20 1448 1
原创 《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 1136
转载 shell算术运算
本文转载于:http://blog.sina.com.cn/s/blog_674b5aae0100o2mn.htmlBash shell 的算术运算有四种方式:1:使用 expr 外部程式加法 r=`expr 4 + 5`echo $r注意! 4 + 5 这三者之间要有空白`expr 4 + 5`语句开始和结束都有一个`,和~位于同一个键
2013-05-06 20:08:25 901
转载 Linux命令之basename 命令
本文转载于:http://monkeymusic.blog.163.com/blog/static/4797639200912533652666/用途返回一个字符串参数的基本文件名称。语法basename String [ Suffix ]描述basename 命令读取 String 参数,删除以 /(斜杠) 结尾的前缀以及任何指定的 Suf
2013-05-03 13:43:17 1016
原创 《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 1187
哈弗曼编码实现文件压缩
2014-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人