07 引用 指针 和传递

2016-06-18  本文已影响9人  LuckTime

一,尽量用引用来传递变量
二,尽量用const 来限制形参的修改

代码区
数据区
-----------------
常量区
----------------
----------------
---------------

三,全局变量和静态变量都是默认初始化0.
|----------------|

代码区
数据区
-----------------
常量区
----------------
----------------
---------------

int main(int argc, char* argv[])
{
int m = 15,n=25; //c
vor(m); //形参的传入,相当于是m的复制一份给vor函数,用完消失
cout << m <<endl;
inr(m); //数值地址传入,是对地址进行修改。(引用和取别名)是对源参数的再次命名。。而指针是对指针指向进行交换。
cout << m <<endl;
return 0;
}

void inr(int& m) //---------------引用
{
++m;

}

void vor(int m)
{
++m;

}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
//-------------------------------------------------------------------
//===============函数指针====================

// class.cpp : Defines the entry point for the console application.
//

include "stdafx.h"

include <iostream>

include <string>

include <cstring>

using namespace std;

void reset(int a[], int n);
void input(int a[], int n);
void output(int a[], int n);
void sort(int a[], int n);

int main(int argc,int argv[])
{
void (fp)(int a[],int n) = NULL;//函数指针 将函数名改为(fp),并实现初始化
//void sort(int a[], int n);将函数名改为上面的函数指针。
int x[5];
fp = output; //将指针函数 等于 output函数
output(x,5); //-------------
fp(x,5); //---------两者输出结果一样

//--------------------
fp = reset; //必须是参数相同的同类函数
fp(x,5);
fp = output; //将指针函数 等于 output函数
output(x,5); //-------------
return 0;
}

void output(int a[], int n)
{
for(int i= 0;i <n ;i++)
cout << a[i] << " " <<endl;
}

void reset(int a[], int n) //初始化地址,将数组全部归零
{
memset(a,0,sizeof(int) *n); //a为数组首地址 三个参数
//for(int i =0; i < n; i++)
// a[i] = 0

}

上一篇 下一篇

猜你喜欢

热点阅读