c基础:函数参数是 struct(结构),传的是引用,还是值?

比如函数形式:void func(struct a data1, struct b data2);

答案:

只要不是指针或者数组都是传值,其实指针也是传递的地址值。

追问但是如果这个结构体里面有数组这种情况是怎么样的呢?

回答

如果结构体内有成员,也是原样按位拷贝,数组也是一样传值,除非用结构体数组,就又是传地址了。来自:http://zhidao.baidu.com/question/320802792.html我在今天之前,我还以为参数为struct时,传的是地址,我真菜,

2012-02-20

时间: 2024-11-09 00:30:04

c基础:函数参数是 struct(结构),传的是引用,还是值?的相关文章

速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

[源码下载] 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函数返回值 可变函数 匿名函数 闭包函数 回调函数 示例1.函数的相关知识点 1(基础)function/function1.php <?php /** * 函数的相关知识点 1(基础) */ // 可以在相关的 function 声明语句之前调用该函数 f1(); function f1() { echo "f1"; echo "<br />"; } // 这里调用

函数参数的传值和传指针有什么区别?

前言 我们可能听过C语言中的传值和传指针,在其他语言中,也有传引用一说,那么他们到底有什么区别呢?如果你还不能准确地分辨,就该好好了解一下了. 传值 我们在初学C语言的时候就被老师教过,下面的方式是无法交换a和b的值的: #include<stdio.h> void swap(int a,int b) { int temp = a; a = b; b = temp; printf("swap a = %d,b = %d\n",a,b); } int main(void) {

C基础--函数参数副本

转自:http://blog.csdn.net/chujiangke001/article/details/38553173 1 void GetMemory(char *p, int num) 2 { 3 p = (char*)malloc(sizeof(char)*num); 4 } 5 6 void main(void) 7 { 8 char *str = NULL; 9 GetMemory(str,100); //str仍然为NULL 10 strcpy(str,"hello"

函数参数的传值与传址

在如下的主函数里面调用swap函数,问哪一个才能正确交换a,b两变量的值?int main(){    int a=3,b=5;    int *pointer_1 = &a;    int *pointer_2 = &b;    swap(pointer_1,pointer_2);    printf("%d %d",*pointer_1,*pointer_2);    return 0; } /**swap1是正确的,通过地址传递参数,令pointer_1和poin

Python3基础 函数 参数 多个参数都有缺省值,需要指定参数进行赋值

? ???????Python : 3.7.3 ?????????OS : Ubuntu 18.04.2 LTS ????????IDE : pycharm-community-2019.1.3 ??????Conda : 4.7.5 ???typesetting : Markdown ? code """ @Author : 行初心 @Date : 2019/7/4 @Blog : www.cnblogs.com/xingchuxin @Gitee : gitee.com/

类对象做函数参数(传值和传引用)

一.传引用 #include "stdafx.h" #include <iostream> using namespace std; class A { public: virtual void show(){cout<<"A"<<endl;} }; class B:public A { public: virtual void show(){cout<<"B"<<endl;} }; c

Python3基础 函数 参数 在设定缺省值的情况下指明参数类型

? ???????Python : 3.7.3 ?????????OS : Ubuntu 18.04.2 LTS ????????IDE : pycharm-community-2019.1.3 ??????Conda : 4.7.5 ???typesetting : Markdown ? code """ @Author : 行初心 @Date : 2019/7/4 @Blog : www.cnblogs.com/xingchuxin @Gitee : gitee.com/

Python3基础 函数 参数为list 使用+=会影响到外部的实参

? ???????Python : 3.7.3 ?????????OS : Ubuntu 18.04.2 LTS ????????IDE : pycharm-community-2019.1.3 ??????Conda : 4.7.5 ???typesetting : Markdown ? code """ @Author : 行初心 @Date : 2019/7/4 @Blog : www.cnblogs.com/xingchuxin @Gitee : gitee.com/

C/C++语言中的函数参数传参三种对比

学了很长时间C/C++有时指针方面还是有点乱. 希望大神发现如果下面有不对的地方请指出.我发现之所以我乱就是因为中文表述不准确的问题,比如 ,地址值和地址 #include <iostream> #include <string> using namespace std; void swap1(string* str1,string* str2){// 1.对象指针作为函数参数 //影响实参 cout<<&str1<<" "<