#include <stdio.h>#include <malloc.h>typedef struct Node {int i, j, k;}Node;void SizeOfStruct(Node node) {printf("%d\n", sizeof(node));}void SizeOfArray(int *array) {printf("%d\n", sizeof(array));}void main() {Node node;int array[8];SizeOfArray(array);SizeOfStruct(node);}
2 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
参数的传入分为两种形式:值传递和地址传递。如果把实例本身作为参数传到函数里面去,那么在函数里面实际上是另外产生一个临时的实例,其值和函数外部的那个实例一样,当然在函数内部对其做的一些改动是不会影响到外边的实例的,因为就不是同一个东西。当然如果在函数里不是想去改变什么而只是单纯的计算一些东西还是没问题的,不过在内存中的地址之类的当然是不一样的。。。传指针也就是把地址传进去,那么在函数里对该地址中的数据进行操作,当然就是在外部实例本身上面进行修改了
吃鸡游戏
TA贡献1829条经验 获得超7个赞
1、仍然是以形参传入。相当于重新拷贝了一个结构体传入函数进行操作。
2、参数的传入分为两种形式:值传递和地址传递。如果把实例本身作为参数传到函数里面去,那么在函数里面实际上是另外产生一个临时的实例,其值和函数外部的那个实例一样,当然在函数内部对其做的一些改动是不会影响到外边的实例的,因为就不是同一个东西。当然如果在函数里不是想去改变什么而只是单纯的计算一些东西还是没问题的,不过在内存中的地址之类的当然是不一样的。传指针也就是把地址传进去,那么在函数里对该地址中的数据进行操作,当然就是在外部实例本身上面进行修改了。
- 2 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消