C++中* (星号) 与取址 介绍

来源:互联网 发布:网络编程怎么学 编辑:程序博客网 时间:2024/04/30 08:59

问题:

C++里的星号是什么意思?
1.不是数学计算里是乘号 

2.解释下“用在指针前面是取内容运算符”的用法 

3.解释下“声明指针”的用法

*-*解释清楚上面个问题和下面
TTable * tmpTable=FormTableMan->TableTable;
这段代码的为最佳答案!**-**



回答:

*一般被称作指针运算符,又叫反向取址运算符,与&作用相反指针,其实就是一个变量,只是它的值是另一个变量或是常量的地址罢了而*的作用便是把这个地址所存放的值取出,所以叫作反向取址运算符,说到这里,第二个问题,也就差不多该明白了结合第三个问题,声明:int *p;//将p声明为一个指针,它指向的是存放int型数据的地址定义:int a;p = &a;//将p指向a的地址,根据前面所说,指针p是一个变量,它的值是个地址(这里就是a的地址//&是取址运算符,可以认为与*相反然后 *p(*用在指针的前面,反射取址,意思是说,将p指向空间的值取出,这用*p的值也就是a的值了。TTable * tmpTable=FormTableMan->TableTable//TTable * tmpTable,声明tmpTable为一个指针变量,指向TTable 型的数据;=FormTableMan->TableTable,对指针tmpTable进行赋值,相信FormTableMan应该是已经定义好的一个结构体或是类指针,而其中一个数据成员TableTable也应该是一个指针。最终就是说,将FormTableMan指向的结构体(或是类)一个数据成员指针TableTable赋值给tmpTable,这样tmpTable和FormTableMan->TableTable便指向同一个地址空间(学习C++的Qq群:21044833)



以上内容来自互联网

原创粉丝点击