C++ 这两行指针是如何执行的? #包括 使用名称空间std; 结构P{ P*Pptr; int i; }; int main(){ p1={NULL,1}; p2={&p1,2}; p3={&p2,3}; 在这些陈述之后cout Pptr->i
C++ 这两行指针是如何执行的? #包括 使用名称空间std; 结构P{ P*Pptr; int i; }; int main(){ p1={NULL,1}; p2={&p1,2}; p3={&p2,3}; 在这些陈述之后cout Pptr->i,c++,pointers,C++,Pointers,#include<iostream> using namespace std; struct P{ P *Pptr; int i; }; int main(){ P p1 = {NULL, 1}; P p2 = {&p1, 2}; P p3 = {&p2, 3}; cout << p3.Pptr->Pptr->i << endl; cout << p3.Pptr->i << e
#include<iostream>
using namespace std;
struct P{
P *Pptr;
int i;
};
int main(){
P p1 = {NULL, 1};
P p2 = {&p1, 2};
P p3 = {&p2, 3};
cout << p3.Pptr->Pptr->i << endl;
cout << p3.Pptr->i << endl;
}
您有一个链(由于数据成员Pptr)
所以这个表达式p3.Pptr->Pptr->i
首先指的是p2
(p3.Pptr
),然后指的是p1
(p3.Pptr->Pptr),并且输出结构p1
的数据成员i
的值
此表达式p3.Pptr->i
表示p2
(p3.Pptr
)并输出其数据成员i
p3 -> p2 -> p1 -> NULL
1) cout-Pptr->i这听起来像是一个家庭作业问题。你不明白的是什么?如果你能更具体一些,你会得到更多有用的帮助。不,我只是想学习指针的流程
p3 -> p2 -> p1 -> NULL
p3.Pptr points to p2
p2.Pptr points to p1
p1.Pptr is NULL
p3.Pptr->Pptr->i is 1
p3.Pptr->i is 2