如何理解c和c++ 的复杂类型声明
int main(int argc, char* argv[])
{
/**//* ************************************************************
指针
**************************************************************/
int *i = new int(4);
int j = 2;
int rgNum[30][4];
int (*p)[4] = rgNum;//p被声明为一个指向一个4元素(int类型)数组的指针
int *q[5];//q被声明为一个包含5个元素(int类型的指针)的数组
int **p1;//p1是一个int类型的指针的指针
int *&p2 = i ;//p2是一个int类型的指针的引用
// int &*p3;//ERROR: Pointer to a reference is illegal.
// int &&p4;//ERROR: Reference to a reference is illegal.
/**//**************************************************************
const
***************************************************************/
const int n = 5;//const关键字放在类型或变量名之前等价的
int const m = 10;//const关键字放在类型或变量名之前等价的
int * const r = i;//指针r的值将不再允许被改变,但*r的值可以改变.
*r = 2;
const int *l= &n;//*l的值不能改变,但l可以改变
l= &j;
/**//**************************************************************
&nbs
相关文档:
C/C++数组名与指针区别深层探索
作者:宋宝华 e-mail:21cnbao_AT_21cn.com [AT -> @]
1. 引言
指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多
程序设计者就被搞糊涂了。而许多的大学老师,他们在C 语言的教学过程中也错误得给学生讲解:“数 ......
extern除了能够用于声明变量,已经在外部被定义,不用重新定义和分配内存空间,还可以在C++与C进行相互函数调用方面会有很大的用处。
首先,我们来看一下,为什么C++和C语言不能相互进行函数调用:
编写如下的源文件:
int func(int i)
{
return 1;
}
&nbs ......
Linux下通常使用免费的编译器gcc。其中gcc主要用来编译C语言代码,g++主要用来编译C++代码。如果想用gcc编译c程序,则要注意C与C++对语法要求的不同点,例如:
1) C程序是从main函数开始,C++程序是从全局变量的构造函数开始
2) 变量必须声明在语句前
3) 没有bool类型
4) 声明枚举变量是必须在枚举 ......