当前位置:博客首页>>编程基础 >> 阅读正文

【C++】C++指针与数组的学习小结(一)

作者: 郑晓 分类: 编程基础 发布于: 2012-10-23 23:15 浏览:6,893 评论(1)


最近学习到了指针部分,指针类型确实不算简单,看的我是一头雾水…下面是我对C++指针与数组的一点儿小结(参考C++Primer Plus)。

一、指针的声明。不管学习哪种类型,最先接触的应该就是这种类型的声明方法。在C++中,声明一个指针类型可以使用以下格式:

typename * poitername

如: int * p,p是指针,*p 是一个int型变量而不是指针。

二、指针的赋值。因为指针储存的是地址,所以应将把内存地址赋给指针。可以使用操作符&来获得被命名的内存地址,或使用new 关键字(操作符) 来获得一个未命名的内存地址,如:

int myInt=10;

int * p = &myInt;

或:

double *p;

p = new double [30];

三、解除指针的引用。对指针解除引用意味着获得指针指向的值。对指针应用解除引用或间接值操作符(*)来解除引用。因此,如果像上面的例子中那样,pn是指向myInt的指针,则*p是指向的值。这里感觉有点儿绕,其实很简单,就是说加*与不加*的区别…

另一种解除指针引用的方法是使用数组表示法,例如,pn[0] 与*pn是一样的。决不要对未被初始化为适当地址的指针解除引用。

四、指针、指针所指向的值。如果p是指向int的指针、则*p不是指向int的指针,而是完全等同于一个int类型的变量,p才是指针。

五、数组名。在多数情况下,C++将数组名视为数组的第一个元素的地址,一种例外情况是,将sizeof操作符用于数组名是,此时将返回整个数组的长度。

int demo[10]; //现在 demo 与&demo[0]是等效的。

今天就复习到这,明天继续…

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/c-c-pointers-and-arrays-learning-summary-a.html

【C++】C++指针与数组的学习小结(一):目前有1 条留言

用户评论头像 哼哼猪发表于 2012年10月24日 14:45[回复]

留个笔记,很好的习惯

发表评论

change vcode