c语言 我用结构体指针当作结构体数组 在一个函数里参数是这个结构体指针 并录入各结构体单元信息 在

c语言 我用结构体指针当作结构体数组 在一个函数里参数是这个结构体指针 并录入各结构体单元信息 在另一个函数里参数同样是此结构体指针 但为什么不能调用出录入的结构体单元信息???求大神指教

第1个回答  2015-12-25
结构体指针是一个地址,函数调用的时候传递的实参也是地址。如果你定义的这个结构体实例是一个全局变量,或者它的作用范围在你所说的那两个函数之内。那你先调用一个函数输入,再调用一个函数输出就没问题了。追问

您好 指针不是会保留调用的函数里做的改变吗

追答

会的。传递的是一个地址,所以对他所做的所有改变都是保存的。

第2个回答  2015-12-25
这个需要看代码具体分析的
一般参数传递的都是该变量的引用类型,指针也不例外,对形参指针指向的改变,不影响实参指针的指向,这一点是需要注意的地方追问

您好 指针不是会保留调用的函数里做的改变吗

追答

修改指针指向的地址里的值是保留的,但是对指针本身指向的改变是不保留的,跟普通变量一样,他传递的也是指针的一份拷贝,指针里保存的是一个地址。

追问

您好 抱歉 我还要再问一下 假如有结构体指针p 我在a函数录入信息p[0].name p[1].name... 在b函数里还能读到录入信息吗

我今天写了一个 b函数里就读不出来

追答

这样是可以的,只要不改变指针的指向就可以了

追问

好的 我再试试吧 谢谢您!

您好这是昨天的问题 能麻烦帮我看一下吗

本回答被提问者采纳
相似回答