Learn C++ Programming Language
This project is maintained by cugwhp
课本将数组、指针和字符串作为一章,是因为他们彼此间的联系。字符串本质上是一个特殊的字符数组,指针也可以访问数组,因而教材就将其放在一章展开。
// 按变量来定义
CRSStudent s1,s2,s3,s4,...,s100;
// 按数组来定义
CRSStudent students[100];
这样使用的时候非常的麻烦,那我们可否考虑在寄存器中划分一段连续的空间,用来存放这100个CRSStudent对象呢。显然是可以的,这样就定义了一个CRSStudent的数组: |s1|s2|s3|s4|…|s100| |—|—|—|—-|—|—|
int a[10]; //a is &a[0]
无处不在的指针,是C++最令人头疼的地方。指针的使用可以提升程序的效率,非常简洁明了,但使用不当,也非常危险。所谓“水能载舟亦能覆舟”,指针同样如此。因此,是否理解清楚指针的本质,是衡量一个C++程序员是否入门的重要依据。 何为指针?直白地说,指针就是地址,即数据或程序段在计算机存储的位置,犹如门牌号一般。因为地址可以指向某个对象,故而在程序里发生跳转变得非常容易和方便。 例如指针的定义:
int a;
int* pA = &a; //pA是一个int型的地址,指向的是变量a的位置
*pA = 3; //通过pA访问变量a,给a赋值,此处变量a的值修改为3
如果你认为指针就是如此简单,那就大错了。因为指针有很多变种,令人难以理解。比如:指针的指针的指针…,可以一直重复下去,还有指针引用、函数指针,数组指针,常量指针、指针常量等等。但无论多么复杂,记住指针即地址这条经典概括。
字符串本质上就是字符数组,是一种特殊的字符数组,即字符数组的最后一个元素为0。
返回主目录 | 上一章 类与对象 | 下一章