const关键字在C和C++区别
摘要:1)C++默认为内部链接;C默认为外部链接2)在C++中,一般一个const不会创建内存空间,而是将其保存在符号表(待看)。比如: const int bufsize = 100; char buf[bufsize]; 这里无需为const创建内存空间,进行完类型检查之后,值会折叠到代码中。 但也有为const分配内存的时候。如取一个const的地址或者把它定义为extern等。#include const int i = 100; const int j = i + 10; long address = (long)&j;//i、j本没有被分配存储空间,但因为这里需要j的地址,故迫使
阅读全文
posted @
2014-02-28 20:25
Sweet Smile
阅读(559)
推荐(0)
引用、return
摘要:C语言中没有引用,引用(reference)是c++对c语言的重要扩充。通俗点说,引用就是“起别名”。比如变量data,和它的引用 RefData。虽然名字不同,但是操作他们的时候,都操作的是相同的内存,所以,不管你改变data还是RefData,内存中的内容都会改变。例子:int a; //声明变量aint& ra = a; //声明一个引用,名字是ra,ra引用了a注:1)ra声明的时候必须同时给出它到底引用了谁,不能先定义然后再指出 ;2)引用一旦声明,就不能再修改到其他变量上了。3)&在此不是求地址运算,而是起标识作用。4)声明一个引用,不是新定义了一个变量,它只表示该
阅读全文
posted @
2014-02-27 15:53
Sweet Smile
阅读(283)
推荐(0)
typedef 及其与struct的结合使用
摘要:1 //相当于为现有类型创建一个别名,或称类型别名。 2 //整形等 3 typedef int size; 4 5 6 //字符数组 7 char line[81]; 8 char text[81];//=> 9 10 typedef char Line[81];11 Line text, secondline;12 13 14 //指针15 typedef char * pstr;16 int mystrcmp(pstr p1, pstr p2);//注:不能写成int mystrcmp(const pstr p1, const pstr p3);因const pstr p1解释为c
阅读全文
posted @
2014-02-21 08:57
Sweet Smile
阅读(1430)
推荐(0)