c/c++
文章平均质量分 72
Hao_09
这个作者很懒,什么都没留下…
展开
-
指针数组与数组指针
经常遇到这两个概念,很容易混淆,这里细细总结一下。指针数组:是一个数组,数组的元素是指针。数组占多少个字节由数组本身决定。数组指针:是一个指针,它指向一个数组。在32位系统下永远是占4 个字节。举例说明:1)int *p1[n];2)int (*p2)[n];1)“[]”的优先级比“*”要高。p1 先与“[]”结合,构成一个数组的定义,数组名为p1,int *修饰的是数组的原创 2015-04-07 22:07:11 · 897 阅读 · 0 评论 -
c++对c的增强
实用性”增强C语言中的变量都必须在作用域开始的位置定义!!C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义。int main(){ inti = 0; printf("ddd"); intk; return0;}register关键字增强register关键字 请求编译器让变量原创 2015-04-25 17:22:01 · 1087 阅读 · 0 评论 -
c++中的构造函数和析构函数
构造函数: C++提供了构造函数(constructor)来处理对象的初始化。在建立对象时自动执行。构造函数的名字必须与类名同名,它不具有任何类型,不返回任何值。构造函数总结:①构造函数是C++中用于初始化对象状态的特殊函数。② 构造函数在对象创建时自动被调用(默认调用),隐身调用。③构造函数和普通成员函数都遵循重载规则。④拷贝构造函数是对象正确初始化的重要保证,必要的时候,原创 2015-05-02 20:36:42 · 1180 阅读 · 0 评论 -
c++之拷贝构造函数
#include #include using namespace std;class name{ public : name();//默认构造函数 name(char *pn); //构造函数 name(const name &obj);//拷贝构造函数 ~ name() ;//析构函数protected : char *pname ; int size ;原创 2015-05-03 11:42:00 · 1203 阅读 · 0 评论 -
运算符重载
运算符重载性质:1 不能创建新的操作符。2 双目操作符“::”、“.”、和“.*”不能重载。3 c++的操作符都是有优先级和结合性的,重载操作符后,其优先级和结合性是不会改变的。4 原先的操作符是单目的,重载也是单目形式的;原先操作符是双目的,重载也是双目的,这是不能改变的。5 操作符的重载只能针对自定义类型。即,在操作符定义的参数表中,至少有一个参数必须是自定义类型。原创 2015-05-04 22:16:17 · 1564 阅读 · 0 评论 -
c++之继承
子类对象空间总是不小于基类对象。 classFather{ int a,b; public: // 成员函数 }; class Son:publicFather{ int c; public: // 成员函数原创 2015-05-04 22:54:30 · 1037 阅读 · 0 评论 -
c++访问私有(private)成员变量的常用方法
类的对象不能直接访问类声明的私有成员变量,否则破坏了信息隐藏的目的。在C++中,为了防止某些数据成员或成员函数从外部被直接访问,可以将它们声明为private,这样编译器会阻止任何来自外部非友元的直接访问。私有成员变量的常用访问方法如下:(1)通过公共函数为私有成员赋值#include using namespace std; class Test {原创 2015-05-04 20:22:38 · 42192 阅读 · 4 评论 -
内联函数、默认参数和函数占位参数
内联函数定义:内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。C++中的const常量可以替代宏常数定义,如:const int A = 3; #原创 2015-05-01 20:04:44 · 2807 阅读 · 0 评论 -
c/c++中的const
const基础知识(用法、含义、好处)int main(){ const int a;//1 int const b;//2 const int *c;//3 int * const d;//4 const int * const e ;//5 return 0;}含义://第一个第二个意思一样 代表一个常整形数;//第三个 c原创 2015-05-01 19:37:31 · 1289 阅读 · 0 评论 -
c++模板
函数模板声明template 类型 函数名 ( 形式参数表 ) { 语句序列 }函数模板定义由模板说明和函数定义组成模板说明的类属参数必须在函数定义中至少出现一次函数参数表中可以使用类属类型参数,也可以使用一般类型参数#include template //函数模板T max ( T a , T b ){ return a >原创 2015-05-06 22:57:58 · 1016 阅读 · 0 评论 -
scanf函数和printf函数
scanf函数是一个标准库函数,scanf函数能够完成精确的格式化输入,其功能是:按照给定的格式从标准输入设备上接收整型、实型、字符型和字符串等各种类型的一个或多个数据的输入并将其保存到指定的变量中。原创 2014-09-16 10:06:47 · 1415 阅读 · 0 评论 -
文件操作之fread()和fwrite()函数
size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );buffer-指向要写数据的存储位置size-目标所占字节数count-写目标的最大数量,即写入多少个size大小的数据stream-文件结构指针举例:定义一个结构体struct student{ int n原创 2015-04-13 17:16:00 · 1341 阅读 · 0 评论 -
避免野指针的方法及结构体小细节
避免野指针的方法1 定义指针变量的时候,指针变量赋值成NULL2 释放的时候,判断是不是NULL3 释放完毕以后再赋值成NULL结构体小细节typedef struct _Teacher{ char name[64];//64 int age;//4 char tile[128];//128 char c;}Teacher,*pTea原创 2015-04-11 20:10:37 · 1255 阅读 · 0 评论 -
深入理解数据类型、变量类型属性、内存四区和指针
数据类型可理解为创建变量的模具(模子);是固定内存大小的别名。数据类型的作用:编译器预算对象(变量)分配的内存空间大小。既能读又能写的内存对象,称为变量;若一旦初始化后不能修改的对象则称为常量。变量本质:(一段连续)内存空间的别名。内存四区栈区(stack):也叫临时区,由编译器自动分配释放,存放函数的参数值,局部变量的值等。堆区(heap):一般由程序员分配释放(原创 2015-03-27 22:20:16 · 2034 阅读 · 0 评论 -
memcpy的用法与strcpy的区别及纯c语言实现
void * memcpy ( void* destination, const void * source, size_t num );函数功能:由source所指内存区域复制num个字节到destination所指内存区域。函数返回:指向destination的指针。1 memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。2 memcpy根据其第3个参数决定原创 2015-03-31 15:44:23 · 1219 阅读 · 0 评论 -
strcpy的用法、c语言实现、及注意点
char * strcpy ( char * destination, const char * source );C语言标准库函数strcpy,把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间。1 strcpy只能复制字符串。2 strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束。3 strcpy不仅复制字符串内容,还会制字符串的结束原创 2015-03-31 11:36:56 · 9325 阅读 · 0 评论 -
详说sizeof与strlen的区别与联系
sizeof是C/C++中的关键字,它是一个运算符,其作用是取得一个对象(数据类型或者数据对象)的长度(即占用内存的大小,以byte为单位)。当参数分别如下时,sizeof返回的值表示的含义如下: 数组——编译时分配的数组空间大小; 指针——存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为4); 类型——该类型所占的空间大小;原创 2015-04-02 20:05:10 · 864 阅读 · 0 评论 -
a和&a的区别、二维数组的本质及多维数组
1 a和&a的区别int a[10] = {1,2};//其他初始化为0 a代表数组首元素的地址,不是整个数组的地址&a表示整个数组的地址 &a,a代表的数据类型不一样&a数组类型int[10]a 数组首元素的类型 2 数组指针的用法int i=0;//循环变量int a [5] = {3, 4, 5, 6, 2};//直接定义一个数组指针int (原创 2015-04-11 19:23:40 · 2549 阅读 · 0 评论 -
c语言文件操作常用函数及读写文件代码举列
文件操作常用函数fopen() 打开流 fclose() 关闭流fputc() 写一个字符到流中fgetc() 从流中读一个字符fseek() 在流中定位到指定的字符fputs() 写字符串到流fgets() 从流中读一行或指定个字符fprintf() 按格式输出到流fscanf() 从流中按格式读取feof() 到达文件尾时返回真值ferror() 发原创 2015-04-12 22:20:22 · 3366 阅读 · 0 评论 -
《The C programming language》学习笔记
Brian和Dennis的《c程序设计语言》(The C Programming Language)真不愧为c语言方面的经典书籍,薄薄的一本,却让人爱不释手,每次阅读都能有所收获。好记忆不如烂笔头,有些规则、算法还是记录下来比较好,记录下来常常回顾,才是提升编程内功的不二法门。下面言归正传……原创 2015-04-15 21:25:28 · 3829 阅读 · 0 评论