C++,关于指针,我可以这样用么?
举个例子 有一个指针int* pa ,还有一个指针 int*pb ;
一个变量int param;
过程......................
.............
................
pa->pb=param;// 指针可以这样用么? 有这种用法么
[解决办法]
pa->pb
这种情况 pa如果是一个包含pb类型的结构体就可以。
[解决办法]
//举个例子 有一个指针int* pa ,还有一个指针 int*pb ;
// 一个变量int param;
// 过程......................
// .............
// ................
// pa->pb=param;// 指针可以这样用么? 有这种用法么
#include <stdio.h>
int *pa;
struct S {
int *pb;
} s;
int param;
int i;
int main() {
i=5;
param=(int)&i;
pa=(int *)&s;
((struct S *)pa)->pb=(int *)param;
printf("i==%d,&i==%p,((struct S *)pa)->pb==%p,((struct S *)pa)->pb[0]==%d\n",i,&i,((struct S *)pa)->pb,((struct S *)pa)->pb[0]);
return 0;
}
//i==5,&i==00403030,((struct S *)pa)->pb==00403030,((struct S *)pa)->pb[0]==5