C语言中“->”是什么指令?
例如,aTdPage[ucTdPageIndex]->OnInit();注释说的是:调用该页面初始化函数。OnInit()这个函数是有的,但是前边的实在是不明白啊。...
例如,aTdPage[ucTdPageIndex]->OnInit ();
注释说的是: 调用该页面初始化函数。
OnInit ()这个函数是有的,但是前边的实在是不明白啊。 展开
注释说的是: 调用该页面初始化函数。
OnInit ()这个函数是有的,但是前边的实在是不明白啊。 展开
10个回答
展开全部
->运算是间接寻址,你用多指针的话会发现指针用->这种调用方式更简洁
链表指针是C语言的一个难点,但也是重点,学懂了非常有用。要仔细讲就必须先讲变量、指针。
什么是变量?所谓变量,不要浅显的认为会变得量就是变量。举个例子:“教室变不变?”变,因为每天有不同的人在里面上课,但又不变,因为教室始终在那,没有变大或变小。这就是变量:有一个不变的地址和一块可变的存储空间。正常情况下,我们只看到变量这个房间里面的东西,也就是其内容,但不会关注变量的地址,但是C语言的指针,就是这个房间的地址。我们声明变量就相当于盖了间房子存放东西,我们可以直接观看房子里的东西,而声明指针,就是相当于获得了一个定位器,当用指针指向某个变量时,就是用指针给变量定位,以后我们就可以用指针找到他所“跟踪”的变量并可以获得里面的内容。
至于我们写代码的结构体就相当于是有好几个房子组成的别墅,几个房子绑定在一起使用。假设现在有很多这种别墅分布在一个大迷宫里,每间别墅里都有一间房子。里面放了另一个别墅的位置信息,现在你手拿定位器找到了第一栋别墅,从里面得到了你想要的东西(链表的数据部分),然后把下一栋别墅的位置计入你的定位器(p = p->next),再走向下一栋别墅……如此走下去,知道走到某地下一栋别墅信息没有了(p->next == NULL),你的旅行结束。这就是链表一次遍历的过程。
aTdPage[ucTdPageIndex]->OnInit ();就相当于一个定位器
链表指针是C语言的一个难点,但也是重点,学懂了非常有用。要仔细讲就必须先讲变量、指针。
什么是变量?所谓变量,不要浅显的认为会变得量就是变量。举个例子:“教室变不变?”变,因为每天有不同的人在里面上课,但又不变,因为教室始终在那,没有变大或变小。这就是变量:有一个不变的地址和一块可变的存储空间。正常情况下,我们只看到变量这个房间里面的东西,也就是其内容,但不会关注变量的地址,但是C语言的指针,就是这个房间的地址。我们声明变量就相当于盖了间房子存放东西,我们可以直接观看房子里的东西,而声明指针,就是相当于获得了一个定位器,当用指针指向某个变量时,就是用指针给变量定位,以后我们就可以用指针找到他所“跟踪”的变量并可以获得里面的内容。
至于我们写代码的结构体就相当于是有好几个房子组成的别墅,几个房子绑定在一起使用。假设现在有很多这种别墅分布在一个大迷宫里,每间别墅里都有一间房子。里面放了另一个别墅的位置信息,现在你手拿定位器找到了第一栋别墅,从里面得到了你想要的东西(链表的数据部分),然后把下一栋别墅的位置计入你的定位器(p = p->next),再走向下一栋别墅……如此走下去,知道走到某地下一栋别墅信息没有了(p->next == NULL),你的旅行结束。这就是链表一次遍历的过程。
aTdPage[ucTdPageIndex]->OnInit ();就相当于一个定位器
展开全部
在C中,->是获得指针指向的复杂类型目标的成员的操作符。例如声明了一个结构体变量A,同时声明了一个A的指针pA,那么要获得结构体变量A的成员n,就可以写pA->n来完成。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例如
int a[10]={1,2,3,4,5,6,7,8,9};
int *p;
p=a;//是把数组中的第一个元素的地址赋给指针p
p=&a[4];//是把数组中的第五个元素的地址赋给指针p,[]运算符的作用是在数组首地址的基础之上偏移4个地址长度,得到第五个地址,然后赋给p
int a[10]={1,2,3,4,5,6,7,8,9};
int *p;
p=a;//是把数组中的第一个元素的地址赋给指针p
p=&a[4];//是把数组中的第五个元素的地址赋给指针p,[]运算符的作用是在数组首地址的基础之上偏移4个地址长度,得到第五个地址,然后赋给p
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按我的理解,C语言中单独的[ ]什么也不是。不是中括号,也不是其他的。。。组合使用时可以定义数组,如int a[10];表示定义一个10个元素的数组,a[3]=5;表示第三个数组元素的值是5,int a[2][2];表示定义一个二维数组。
c语言中,无论是小括号、中括号、大括号,都用()的层数来表示。如(((2+3)*2+5)*3),从里到外依次为小括号到大括号。。。如果还有更多层数,再加括号就行了。
c语言中,无论是小括号、中括号、大括号,都用()的层数来表示。如(((2+3)*2+5)*3),从里到外依次为小括号到大括号。。。如果还有更多层数,再加括号就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
非直接访问成员,主要用于指针类成员
比如A结构有成员B,但C是指向A的指针,要通过C访问A的B,就需要C->B,例如:
struct Struct {int B;};
Struct A;
Struct *C = &A;
C->B = 0; //设置A的B为0
比如A结构有成员B,但C是指向A的指针,要通过C访问A的B,就需要C->B,例如:
struct Struct {int B;};
Struct A;
Struct *C = &A;
C->B = 0; //设置A的B为0
追问
你讲的还详细些。买的C语言的书都太简单了,都没讲这个地方。能推荐一本书么?谢谢!
追答
多看程序吧,如果你英文好,建议你看网上的英文C或者C++教材电子书,比咱们这里那些大学课本老掉牙,还翻译不准确的东西强很多。如果英文不好,就网上找些民间翻译的英文C或者C++教材电子书。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询