C语言 结构变量 A,c,j分别是什么意思,答案给的是A

如题所述

A是用typedef struct语句定义的一个结构类型,c是A结构类型的一个变量,j是一个整型变量,int是计算机里有的类型,A是你新定义的一个类型它只不过是和int ,float,等一样的一个助记符,用A可以定义任意的变量,这些变量里面都包括自己的{int b,p;}。这就是面向对象的编程语言的原始形态A是一个类,而用A定义的变量无论他叫什么都是A的一个对象他继承了A的模样。但你无法给A赋值因为他是个像int类型一样的模子。追问

int j是什么意思?

追答

int j是在函数void f(A a)内定义的一个局部变量他在该函数结束后就被释放。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-03
这道题考的是struct结构体作为形参是传值,而不是传址。各种数据类型按以下方式传递。
1、int、float、double等基础类型都是值传递;
2、复杂类型基本不能实现值传递;
3、但是结构体比较特殊,属于值传递,等于把结构体复制了一份传递进去;
4、指针本质上是个int32的int类型,所以地址也是值传递。
传值就是在函数执行之时,重新分配一块内存,将传递的参数拷贝进去,函数执行之后,原来的参数不发生改变。所以原来的a.b=1,a.p=2执行之后依然不变。不明白可追问。追问

为什么void f(A c),A c是什么意思?

int j是什么意思?j的作用?

追答

int j;不就是定义一个整型变量吗?不要把意思想的太复杂,函数中的新定义的变量是临时变量,函数执行完了,就销毁了,这里的j应该来说没有任何意义,因为后面根本没有跟j相关的语句,要不要int j这句话对程序没有影响,当然对运行结果更没有影响,也就是结果一样。

本回答被网友采纳
相似回答