C/C++ 的 指针/引用 传参

#include <stdio.h>

//指针传值
void addOne(int *a)
{
	printf("%8p\n",a);
	*a = *a+1;
}

//引用传值
void addOne2(int &a)
{
	printf("%8p\n", &a);
	a++;
}

int main()
{
	int nInt = 0;
	scanf_s("%d",&nInt);
	addOne(&nInt);
	printf("%d\n", nInt);
	addOne2(nInt);
	printf("%d\n", nInt);
	return 0;
}

结果

原文地址:https://www.cnblogs.com/cjdty/p/12692134.html

时间: 2024-10-03 22:28:51

C/C++ 的 指针/引用 传参的相关文章

结构体嵌套,指针形参,引用传参

1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 6 struct Student 7 { 8 int s_id; 9 string s_name; 10 int s_phonenum; 11 }; 12 13 struct Teacher 14 { 15 int m_id; 16 string m_name; 17 Student m_stu;//班长 18 Student starr[50];/

C#中ref引用传参怎么用

protected void Page_Load(object sender, EventArgs e) { int value = 0;//初始值 Test(ref value); Response.Write(value.ToString());//值被改变,结果是9999 Response.End(); } protected void Test(ref int value) { value = 999; }C#中ref引用传参怎么用

引用传参的错误报告与递归转义

下面例子: $age = 10; function grow($age) { $age += 1; return $age; } echo grow(&$age),'<br />'; // 11 echo $age,'<br />'; // 11 在上例中,调用函数后,全局变量也受到了影响.因为我们做"引用传参",这种方式,违背"封装"的概念,影响代码的整洁.因此,不推荐这么做. 在PHP5.3,php.ini中,有一个选项,如下 a

指针数组传参

指针数组作为参数传递可实现传递第二维不确定的二维数组 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define frewri freopen("1.ou","w",stdout) const int maxn=3e5+7; const ll mod=1e9+7; int ar[maxn],n,m,k; int arr[10][10]; void func(int

C# 值传参和引用传参

Class1.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Class1 { private int age; public Class1(int age) { this.age = age; } // age接口 public i

引用传参与指针传参的区别

Reference: https://blog.csdn.net/u013130743/article/details/80806179 概念: 引用传参:引用是变量的别名.引用传参传递进形参列表的是实参的别名,在函数的执行中也会在栈空间上开辟存储空间,存储形参的地址 (也就是实参的地址).对形参的任何操作都会间接寻址到实参.也就是在函数中对形参变量做的任何改变都会影响到实参变量. 指针传参:指针传参本质上是值传参.指针在形参列表中传递的是实参的地址.也就是说,指针的值的实参的地址.在函数的执行

Javascript 之《函数传参到底是值传递还是引用传递》

前言 这个问题其实困惑了我好久,但是在实际使用中总是得过且过,不想去深究.由于这种态度,在学习 Javascript 过程中,水平一直都是出于半桶水状态,很多概念和原理似懂非懂,模糊不清. 所以,写了一系列的<Javascript 之 ...>就是为了端正态度,认真地研究一下 Javascript 的特性和原理,夯实基础. 今天,这一篇探究的是函数传参的问题:函数传参到底是传值还是传的引用? 1.如果是引用传递 var name = 'JS'; function changeName(name

华为机试 小结 关于函数传参修改的问题

第一第二道题比较简单,第三道题还好,就是一个递归,但是传参的时候出了个问题,我做了一个flag来标志,但是函数中修改了flag之后,但是退出函数之后,flag并没有改变,想起来,应该是没有传入指针,故此处进行学习. http://blog.csdn.net/herecles/article/details/6072523 在C++中,如果函数的实参的类型是数据类型比较大的数据类型,这是如果使用一般传参就会有很大的不方便,这是如果能够传递一个地址或者是对原来参数的一个引用对提高性能会有很大的帮助.

关于C语言中二维数组传参————————【Badboy】

直接上代码: #include void Fun(int *a[],int m,int n)// { printf("%d\t",*a);//[0][0] /* int e[2][2][2]={8,7,6,5,4,3,2,1}; int *f,***g; g=e; f=e;//有警告,但不会报错 printf("%d\n",*f); */ } /*解释: Fun()中的int *a[2]表示定义指针数组a[2],a[0],a[1]存储的都是指针, a表示的是数组的首