- 博客(23)
- 资源 (3)
- 收藏
- 关注
原创 文件的读写操作
1. 读写字符函数fgetc(),fputc()int fgetc(FILE *stream);将流指针指向的文件中的一个字符输出。若文件指针指到文件尾,会遇到文件结束标志EOF(-1),我们可以通过检查该函数的返回值是否是-1来判断是否已读到文件尾。int fputc(int ch,FILE *stream);将字符变量ch的值写到流指针指定的文件中去,若是stdout是标准输出(显示
2016-01-28 20:49:37 602
原创 '\0','0',"0" ,0之间的区别
请对照ASCII字符集表,便于理解。1. '\0': 单引号表示字符,是C/C++语言中的字符串结束标志,在ASCII字符集中对应数字0,字符缩写是NULL,表示空字符。2. '0': 也是字符,且是字符常量。对应的ASCII码十进制是48,十六进制是0x30。可用于数字转化为字符,2+‘0’->'2'3. “0”: 双引号是字符串,并且是字符串常量。4. 0: 数字0,和‘0’的
2016-01-28 17:13:23 1764
原创 野指针
什么是野指针?什么情况会造成野指针?1. 野指针通常是因为指针变量中保存的值不是一个合法的内存地址而造成的。2. 野指针不是NULL指针,是指向不可用内存的指针。3. NULL指针不容易用错,因为一个if语句可以很好的判断一个指针是不是NULL。注:C语言中没有任何手段可以判断一个指针是否是野指针。野指针的由来:1)局部指针变量没有初始化#include #inclu
2016-01-26 20:50:33 319
原创 动态内存分配
1. malloc,calloc,realloc的对比函数名函数原型功能返回值malloc- 动态内存分配void *malloc(size_t size);向系统申请分配size个字节大小的内存空间。如果分配成功,返回指向被分配内存的指针calloc- 动态内存分配并清零void *calloc(size_t n,siz
2016-01-25 21:13:24 902 2
原创 文件的打开和关闭
1)文件:存储在外部介质(磁盘)上的相关数据的集合。2)文件的分类: a. 从用户的角度:特殊文件(标准输入输出文件)和普通文件(磁盘文件)。 b. 操作系统:每一个与主机相连的输入、输出设备看作是一个文件。 输入文件:终端键盘; 输出文件:显示屏和打印机 c. 数组的组织形式:ASCII码文件(文本文件)和二进制文件 ASCII文件:每一个字节
2016-01-25 17:23:49 568
原创 链表排序
将一个链表中的元素按照从小到大的顺序进行排序#include #include using namespace std;//定义结构体类型Ptypedef struct point{ int data; struct point *next;//指向结构体的指针}P;//创建链表(指定长度,存在结构体数组中),返回头指针P *createlink(P a[],int n)
2016-01-22 13:43:51 416
原创 Union -- 公用体判断大小端模式
通过使用union可以知道自己所用的编译器是大端模式还是小端模式。例2:union{ int i; struct { int j; int m; }sint; struct { char ch1; char ch2; char ch3; char ch4; }sch;}un;int main(){ un.i=0x12345678; pri
2016-01-21 15:15:09 703
原创 Union -- 公用体和内存对齐
Union中的所有元素共用一块内存单元,它的size大小等于所有元素中size最大的那个元素。union uni{ struct{ char *p1; int n1; }s1; struct{ char *p2; int n2; int n3; }s2;};int main(){ union uni u; u.s1.p1=(char*)&u.s2.n3;
2016-01-21 14:24:37 756
原创 指针赋值
例子:void main(){ int *a,*b,*c; a=b=c=(int *)malloc(sizeof(int)); printf("%d,%d,%d",(int)a,(int)b,(int)c); printf("\n"); *a=1;*b=2,*c=3; a=b; printf("%d,%d,%d",(int)a,(int)b,(int)c); printf("
2016-01-21 10:52:38 520
原创 指针的自加自减运算(++,--)
void main(){ char *a[2]={"one","two"},**p=a; printf("%s\t",(*p+1));//p是指向指针的指针,*p指向a[0]"one" *p+1指向第二个字母n printf("%s\t",*(p+1));//p+1指向a[1] 输出two printf("%c\t",**p);//“one”的第一个字母'o' printf("%s\t
2016-01-18 07:48:43 1576
原创 虚函数(二)
1)指向虚函数表的指针#include "stdafx.h"#include "iostream"using namespace std;class A{public: virtual void func1();//指向虚函数表的指针,占4个字节。 virtual void func2(); virtual void func3();private: int m; cha
2016-01-17 18:17:15 305
原创 malloc和memcpy简单介绍
1)malloc:内存分配函数,一般用于动态内存分配。函数原型:extern void *malloc(unsigned int num_bytes);头文件:malloc.h或 alloc.h,Visual C++6.0中可以用malloc.h或者stdlib.h。功能:分配长度为num_bytes字节的内存块。void* 表示未确定类型的指针。C,C++规定,void* 类
2016-01-17 16:42:41 3997
原创 虚函数和纯虚函数
一、定义:都有virtual关键字一个函数为虚函数,该函数可以实现,允许用基类的指针调用子类的同名函数。一个函数为纯虚函数,该函数不能实现,子类继承这个类必须实现这个函数才能实例化对象。class A{public: virtual void func();//虚函数}class B{public: virtual void func()=0;//纯虚函数};
2016-01-17 11:25:08 326
原创 sizeof()和strlen()用法
1、sizeof( )是运算符,不是函数。 在编译时计算,因此不能用来返回动态分配(malloc)的内存空间的大小。2、strlen( )是函数,要在运行时才能计算。 函数的参数必须是字符型指针(char *),必须是以'\0'结尾的。 strlen所作的仅仅是一个计数器的工作,它从内存的某个位置开始计算,直到碰到第一个字符串结束符'\0'为止,然后返
2016-01-17 09:34:14 1101
原创 链表结点移动
将已知链表中元素值最小的结点移到第一个结点,来看代码:#include "stdafx.h"#include #include using namespace std;//定义结构体类型Ptypedef struct point{ int data; struct point *next;//指向结构体的指针}P;//创建链表(指定长度,存在结构体数组中),返回头指针P
2016-01-16 19:04:13 4045
原创 margin和border-style的用法
一、margin在用HTML进行页面布局时,常常需要设置页边空白,会用到margin的属性:指定页边距,按照顺时针方向:上-右-下-左的顺序进行设置。margin:top right bottom left;top right bottom left四个值之间用空格分隔。等同于:margin-top:value;margin-right:value;margin-botto
2016-01-14 17:55:10 1377
原创 HTML-CSS设置超链接颜色字体
我们可以用CSS控制超链接字体样式,下面先来看一段代码:#em a:link,#em a:visited{font-family:Segoe UI Light;font-size:24pt;color:#1c4269;text-decoration:none;}#em a:hover{color:#0000FF;text-decoration:underline;} Member Infor
2016-01-14 09:12:41 24689
原创 cctype头文件
ASCIIDec(十进制)Hex(十六进制)0-948-5730-39A-Z65-9041-5Aa-z97-12261-7A cctype头文件,C语言是,C++是1. isalnum(c) 当c为数字0-9或
2016-01-07 15:20:16 639
原创 string的增删改查
赋值操作:=,assign()追加,插入:append(), push_back(), insert()大小:size(), length(), capacity()位置访问:[ ], at()擦除:erase()替换:replace()#include "stdafx.h"#include "iostream"#include using namespace std
2016-01-07 09:41:24 574
原创 string的常用操作
1. string的初始化定义对象时指定了初始值的对象被称为是已初始化的。C++支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化用等号(=)来表示,直接初始化是把初始化式放在括号中。代码一:#include "stdafx.h"#include "iostream"#include using namespace std;int main(){ stri
2016-01-06 16:40:10 485
原创 命名空间和string的用法
C++中string的一些用法:从标准输入读取字符并存在字符串变量中,string类型的输入操作符:1)读取字符,忽略开头所有的空白字符(空格,换行符,制表符)2)读取字符直至再次遇到空白字符,读取终止。代码一:#include "stdafx.h"#include "iostream"#include using namespace std;int main(int
2016-01-06 16:21:39 586
原创 C++中变量和类的定义
一、 变量的声明和定义在C++语言中,变量仅能定义一次,而且在使用变量之前必须定义或声明变量。1)变量的定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。2)声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。 extern int i; // 声明但
2016-01-06 10:36:12 1108
原创 基类的指针指向派生类的对象
说明:只要基类的成员函数是虚函数,派生类的同名函数不管有没有显示声明virtual都是虚函数。#include "stdafx.h"#include "iostream"using namespace std;class A{ int x;public: A(int i) {x=i;} void show() { cout<<"A class show():x="<<x
2016-01-06 09:35:00 6946
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人