300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 函数中结构体指针作为形参修改指针地址

函数中结构体指针作为形参修改指针地址

时间:2024-07-26 16:37:15

相关推荐

函数中结构体指针作为形参修改指针地址

当函数的形参为结构体指针,但是在函数中不仅修改指针指向的值,而且修改指针指向的地址

以下可以改变主函数中a的值,但是a指向的地址不会发生改变

struct student {int aa;int bb;student() {}student(int aa, int bb) : aa(aa), bb(bb) {}};void fun(student* a, student* b) {*a = *b;}int main() {student* a;a = new student();student b = student( 3, 4 );printf("%p\n", a);fun(a, &b);printf("%p\n", a);printf("%d\n", a->aa);return 0;}

以下这种方式,不仅修改了a的值,而且改变了a指向的地址,指向了b

struct student {int aa;int bb;student() {}student(int aa, int bb) : aa(aa), bb(bb) {}};void fun(student** a, student* b) {*a = b;}int main() {student* a;a = new student();student b = student( 3, 4 );printf("%p\n", a);fun(&a, &b);printf("%p\n", a);printf("%d\n", a->aa);return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。