结构体参数的传递以及如何修改指针参数的值

发布者:cnbragon
发布于:2010-09-12 04:44

1. 我们在看代码的时候,会注意到,如果函数的参数需要结构体的时候,一般是传递结构体指针,而不是传递结构体,这一点在Windows API中几乎都是如此,凡是用到结构体的地方,都是用它的指针来做参数的,这是什么原因呢?最近发现,如果直接传结构体,编译器会把结构体的各个成员都一一压栈,而如果传递的是结构体指针的话,则只压一个结构体的指针就可以了,大为简洁

 

2. 有这样一个函数

问,在这个函数执行完,返回之后,p的值会被改变吗?

答案是否,因为我们传递指针的目的是为了修改指针指向的地址的值,而不是指针的值,

那么,如果想在函数里修改指针的值该怎么做?对了,只要把指向指针的指针传进来就可以了

如下


声明:该文观点仅代表作者本人,转载请注明来自看雪