- 浏览: 218194 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
microwindlab:
你不应该加 --shell 参数,因为 --shell run ...
由mongodb的维护引发的 grep,awk,sed 与管道的应用 -
Jerryhome:
楼主超牛,值得好好学习
windows系统下的进程监测程序--实现过程记录 -
xb_91674981:
学习一下,模式在程序设计是很重要
《大话设计模式》一书的所有代码和UML类图 -
Jason(aijun):
正在学习,非常感谢分享。
《大话设计模式》一书的所有代码和UML类图 -
wurb_travelsky:
正在看这本书,C#的代码倒也不影响阅读
《大话设计模式》一书的所有代码和UML类图
指针部分:
1.指针类型说明
main(){ int *pa[10]; /* 定义指针数组pa,它由n个指向整型的指针组成 */ int (*pb)[10]; /* pb为指向含10个元素的一维数组的指针变量 */ int f(); /* f为返回整型的函数 */ int *pf(); /* pf为返回指针的函数,该指针指向整型数据 */ int (*ppf)(); /* ppf为指向函数的指针,该函数返回整型 */ int *p; /* 指向整型的指针变量 */ int **pp; /* pp是指针变量,它指向一个指向整型的指针变量 */ }
2.指针加减运算说明
/* 指针的加减运算(只能对数组指针进行,其他类型的指针变量是无意义的) */ int *pt; pt = pa+1; /* 数组后移一位 */ pt = pa-1; /*数组前移一位 */ pt = pa++; pt = pa--; pt = ++pa; pt = --pt; /* (在数组中!)两个指针变量可以相减,但不能相加!! */ int *p1,*p2; p1 = array; p2 = &array[3]; int num = p2 - p1; /* 代表两指针在数组中相隔的元素个数,(p2地址-p1地址)/单个元素长度 */ //printf("%d\n",num); will print "3"
3.结构体
#include<stdio.h> struct stu{ int num; char name[20]; char sex; float score; }; struct stu boy1,boy2; //#define STU struct stu 利用宏来定义一个符号常量 /* 上述代码也可用以下方式表示 struct stu{ int num; char name[20]; char sex; float score; }boy1,boy2; */ //结构变量成员的引用是:结构变量名.成员名 //结构数组 struct stu boy[5]; //结构指针变量,值是所指向的结构变量的首地址。注意:结构指针变量和结构变量对成员名的访问形式不同 struct stu *pStu; //赋值 pStu = &boy1 //访问形式:(*pStu).成员名 或 pStu->num //作为参数时,结构变量会将全部成员逐个传送,开销很大。最好用结构指针变量,只会传送地址
4.内存管理函数
a.分配内存空间函数 malloc
调用形式:(类型说明符 *) malloc(size)
b.分配内存空间函数 calloc
调用形式: (类型说明符 *) calloc(n,size)
在内存动态存储区分配n块长度为size字节的连续区域。
c.重分配内存空间函数 realloc
调用形式:(类型说明符 *) realloc(mem_address, newSize)
更改以前分配区的长度(增加或减少)。当增加长度时,可能需将以前分配区的内容移到另一个足够大的区域,而新增区域内的初始值则不确定
d.释放内存空间函数 free (注意:对于a,b,c分配的内存,不再用时,必须用free函数释放)
调用形式:free(void *ptr)
5.枚举类型
定义:enum enumName{var1, var2, var3};
或通过 typedef 来定义:
typedef enum [enumName]{ var1, var2, var3 }[enumTypeName]; //这里的enumTypeName和第一行的enumName,两者选一,或两者都存在,都是可以的
枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,默认第一个为值为0,也可在定义时赋值,如:
enum enumName{var1 = 1, var2, var3}; 则往后递增值。
赋值:
enum enumName varName; varName = var1;
link: http://www.cnblogs.com/JCSU/articles/1299051.html ,有更详细说明。
6.文件
从用户角度分,普通文件和设备文件。
从文件编码分,ASCII文件和二进制文件。ASCII文件每个字符对应一个字节。
文件指针在C语言中用一个指针变量指向一个文件。定义:
FILE *fp;
文件操作由库函数完成,主要有:
文件打开函数:
文件指针名 = fopen(文件名, 使用文件方式);
文件使用方式有:
"rt" rt+ wt wt+ at at+
"rb" rb+ wb wb+ ab ab+
其中 t 代表文本文件(可不写),b 代表二进制文件。但在操作时会把文本文件转成二进制再读写,所以文本文件效率较低
打开文件常用代码:
if((fp = fopen("c:\\tmp.txt","rb") == NULL){ printf("\nError on open c:\\tmp.txt\n"); getch(); exit(1); }
文件关闭函数:
fclose(文件指针);
正常关闭返回0,返回非0则出错。
文件读写函数:
a.读字符函数 fgetc
ch = fgetc(fp);
b.写字符函数 fputc
fputc(字符量, 文件指针);
c.字符串读写函数 fgets 和 fputs
读字符串函数 fgets 从指定的文件中读字符串到字符数组中。
fgets(字符数组名, n , 文件指针);
n表示从文件中读出字符串不超过n-1个字符。在读入最后一个字符后加上串结束标志'\0'。
在读出n-1个字符前,如遇到换行符或EOF,则结束读操作,返回值是字符数组的首地址。
写字符串函数 fputs
fputs(字符串, 文件指针);
d.数据块读写函数 fread 和 fwrite
fread(buffer, size, count, fp); fwrite(buffer, size, count, fp);
buffer 是指针,存放待读写数据的首地址;size 是数据块的字节数; count 表示要读写的数据块块数。 fp 表示文件指针。
例如:fread(buf, 4, 5, fp); 代表从fp所指文件中,每次读4个字节(一个实数)送入实数组buf中,连续读5次,即读5个实例到buf中。
e.格式化读写 fscanf 和 fprintf
fscanf(文件指针, 格式字符串, 输入表列); fprintf(文件指针, 格式字符串, 输出表列); 例如: fscanf(fp, "%d%s", &i,s);
f. 文件随机读写 rewind 和 fseek
rewind(文件指针); //把文件内部的位置指针移到文件首。
fseek(文件指针, 位移量, 起始点); //位移量指移动字节数,long。起始点有三种:文件首,当前位,文件尾,分别用数字0,1,2表示。另fseek一般用于二进制文件,因为在文本文件中要进行转换,计算位置常出错。
另:
int sscanf(const char *buffer,const char *format[,argument ]...);
buffer 存储的数据 format 格式控制字符串 argument 选择性设定字符串 sscanf会从buffer里读进数据,依照argument的设定将数据写回。
int sprintf( char *buffer, const char *format [, argument] … );
返回值:字符串长度(strlen)
--------------------------------------------------------------------------------------------------------------
《C程序设计语言》笔记
1.8
当把数组名作为参数时,传递给函数的值是数组的起始元素的位置或地址--并不复制数组本身,在被调用的函数中,可以通过数组下标访问或修改数组元素的值。
1.10
在函数内部定义的 int a; 称为自动变量(局部变量)。
在函数外定义的 int b; 称为外部变量,其值在程序运行期间一直存在,可在全局范围内访问。每个访问外部变量的函数,需要声明相应的外部变量。声明时可显式声明(extern int b),也可通过上下文隐式声明(在同一源文件中,如果外部变量的定义出现在它的函数之前,那么可以不用extern)。如果外部变量在file1定义,file2和file3要用extern声明。
人们通常把变量和函数的extern声明放在一个单独的文件中(头文件 .h)。
定义:define,表示创建变量或分配存储单元。
声明:declaration,说明变量的性质,但并不分配单元。
2.1
C语言只提供了四种基本类型:char int float double。(short和long是限定符)
储存字符串的物理存储单元数比括在括号中的字符数多一个。
枚举是一个常量整型值的列表。例如:enum boolean{NO, YES};(默认NO 为0,YES为1)
枚举为建立常量值与名字之间的关联提供一种便得的方式。
const限定符:指定变量的值不能修改。对数组而言,指定数组的所有元素的值都不能修改。
发表评论
-
w3school html 学习笔记
2014-04-25 20:38 911当显示页面时,浏览 ... -
phpcms 笔记
2014-04-24 16:53 867Phpcms v9的pc_webserver一安装上,就不 ... -
dive into python 笔记
2014-02-13 17:23 658第三章 tuple 是没有app ... -
python 爬某高校C++题库小程序
2014-01-18 15:44 1434最近在学习C++,爬下一些题来,用于平时练手。 原理其实也 ... -
centos下饭强--obfucated-openssh sshcenter.info
2013-09-26 21:47 15431. git clone https://github.com ... -
android的【qq通讯录】导出短信,在iphone上恢复
2013-07-14 22:00 5965事件经过:朋友原来用android手机,现在新买了ipho ... -
python的一些记录
2013-05-03 13:53 1204正则表达式的一些常用元字符和语法: http://www. ... -
《程序设计导引及在线实践》学习
2012-05-31 17:13 1039P41 int MyItoa(char s[]) 将s中以 ... -
accelerated c++ 学习笔记
2012-04-26 00:53 1199Chapter 0 A namespace is a ... -
关于foreach与普通for的区别
2012-04-10 22:07 1328请问两者的区别 for(A a : alist) { ... -
学习Linux命令,读《系统程序员成长计划》
2012-03-06 16:41 1346linux命令小结: cat : ... -
base64,日期操作,jexl读取excel
2012-03-06 16:40 219907-22:学习base64的加密和解密,求几天前的日期和求两 ... -
无题。。好代码记录
2011-12-27 11:35 771编写函数expand(s1,s2),将字符串s1中类似于a-z ... -
数据结构:排序
2011-11-09 13:08 951排序一般分为:插入排序,选择排序,交换排序,归并排序和分配排序 ... -
并发学习笔记(更新中,java编程思想第四版21章)
2011-10-19 23:47 1591实现并发最直接的方式是在操作系统级别使用进程。 并发任 ... -
并发学习笔记(更新中,java编程思想第四版21章)
2011-10-19 21:05 0从今天起记录学习到的知识。 -
RMI 入门
2011-10-07 16:23 1563RMI : remote method invocation, ... -
《大话设计模式》一书的所有代码和UML类图
2011-08-29 16:08 4296如题,把《大话设计模式》一书的所有代码和UML类图写出来,见附 ... -
windows系统下的进程监测程序--实现过程记录
2011-05-26 22:50 6208单位的客服中心的服务器有个接口程序,这三天都出现了自动退出的情 ... -
发短信算法题
2011-05-10 20:49 1151发短信:手机短信通常a个字就分一页,分页之前在短信之前都要加上 ...
相关推荐
根据提供的"C语言复习笔记.pdf"的信息,我们可以提炼出以下关键知识点: ### C语言基础知识 #### 变量 - **定义**:在程序运行过程中,其值可以被改变的值称为变量。 - **特点**:变量在内存中占据一定的存储单元...
哈工大计算机复试C语言复习笔记 本笔记旨在帮助考研的学生快速复习C语言,涵盖了C语言的基本概念、数据类型、运算符、控制结构、函数、数组等基本知识点。 第一章:为什么要学C语言 ------------------------- ...
《哈工大计算机复试C语言复习笔记》是针对哈工大计算机专业考研复试而准备的一份详实的学习资料,主要参考书籍为苏小红编著的《C语言程序设计第三版》和《C语言程序设计学习指导》。这份笔记适合已经具备一定C语言...
【哈工大计算机复试C语言复习笔记1】 在准备哈工大计算机专业的考研复试时,C语言是一项重要的复习内容。本笔记将详细讲解C语言的基础知识,帮助考生系统理解和掌握这一编程语言。 ### 第一章:为什么学C语言 ...
【C语言复习笔记-day3】 在C语言的学习中,我们继续深入探讨了各种核心概念。以下是一些重要的知识点总结: 1. **printf 函数**:`printf`是用于输出格式化字符串的函数,若要使其在窗口停留更长时间,可以使用...
C语言是一门强大的编程语言,起源于20世纪70年代初,由AT&T贝尔实验室的B.W.Kernighan和D.M.Ritchit共同创建并出版了经典的《K&R》书籍。随着时间的推移,C语言发展成为ANSI C标准,即美国国家标准学会在1983年发布...
谭浩强C语言(复习笔记自用)
C语言基础笔记(回顾复习与自学跟进笔记)
本资源包"**C语言学习笔记——基础知识篇**"是为C语言初学者或需要复习C语言概念的人准备的宝贵资料。 首先,我们要了解C语言的基础知识。C语言的语法结构基于ALGOL60和BCPL,由Dennis Ritchie在贝尔实验室设计和...
"C语言程序设计基础 & 期末复习"这个主题涵盖了C语言的基本概念、语法结构以及在准备期末考试时的重点复习内容。 一、C语言基本概念 C语言由丹尼斯·里奇在贝尔实验室为UNIX操作系统开发,它是一种结构化编程语言,...
总结来说,严蔚敏《数据结构》(C语言版)笔记和习题(含考研真题)详解是学习和复习数据结构的理想资源。它结合了理论教学和实践应用,能够帮助读者系统地掌握数据结构知识,提升编程技能,同时为考研做好充分准备...
代码示例可以帮助读者直观地了解如何在实践中应用C语言的语法规则,而PPT可能是教学或自我学习的辅助材料,它通常以简洁明了的方式呈现关键概念,便于记忆和复习。 【标签】"初步知识"提示我们,这份压缩包内容主要...
复习笔记.C语言.pages
标题"**C语言进阶-第2讲C语言复习共25页.pdf.zip**"表明这是一个关于C语言进阶学习的资料,具体是第二讲的内容,包含25页的复习材料。这通常是一份教程或者课程笔记,涵盖了C语言的深入知识点,可能是对基础概念的...
在提供的【部分内容】中,我们可以识别出一些关键的C语言知识点和语法细节。以下将详细阐述这些知识点。 1. 数据类型和变量声明 ...希望对理解C语言的初学者或有需要复习知识点的专业人员有所帮助。
"《C语言程序设计(第五版)谭浩强》学习笔记" 本学习笔记涵盖了C语言程序设计的基础知识,包括C语言程序的结构、算法、数据类型、变量、常量、符号常量、整型数据等。通过学习这些基础知识,读者可以更好地理解...
C语言中的位操作是编程中的一个基础且强大的工具,它涉及到计算机硬件层面的二进制数据处理。在C语言中,位操作允许我们直接对...因此,这个位操作复习笔记对于想要提升C语言技能的开发者来说,确实是一份宝贵的资料。
这门课程的期末复习笔记涵盖了C语言的核心概念,包括数据类型、变量、运算符、控制结构、函数、指针、内存管理等。 1. **数据类型**:C语言提供了多种基本数据类型,如整型(int)、字符型(char)、浮点型(float,...