我有一个基本的指针问题.我有一些这样的代码:如果以下代码中有任何错误,请告诉我:
struct abc {
int a;
int b;
};
void func2(int*); // defined elsewhere
void func1 (struct abc *p1)
{
struct abc var1 = *p1; // ======> Can I do this ?
func2(&var1.b);
func2(&p1->b); // =========> Which of these 2 is right ?
}
Run Code Online (Sandbox Code Playgroud)
Arn*_*anc 10
struct abc var1 = *p1;======>我可以这样做吗?
是的,这会将p1指向的结构复制到局部变量var1中.
func2(&var1.b);func2(&p1->b);=========>这两个中的哪一个是对的?
两者,如果func2()接受int*as参数.这取决于你是否想要func2修改p1->b或var1.b.