最赞回答 / CodeOfCoin
我是这样理解的,如果是void fun(int x,int y)其实是找了一个跟罗xx同名的人,但本质上不是罗某某,所以形参的罗xx无论做什么事情都不会影响实参罗xx但是void fun(int &x,int &y)是给了实参罗某某取了别名,叫萝卜头,你叫萝卜头做什么事情,实质上是去叫罗某某做的,所以形参用的是引用的话,形参的数值的改变肯定会影响到实参的值
2018-10-09
#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申请100个char类型的内存
char *str = new char[100];
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy_s(str,100,"Hello imooc");
//打印字符串
cout << str << endl;
system("pause");
//释放内存
delete[]str;
str = NULL;
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申请100个char类型的内存
char *str = new char[100];
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy_s(str,100,"Hello imooc");
//打印字符串
cout << str << endl;
system("pause");
//释放内存
delete[]str;
str = NULL;
return 0;
}
最赞回答 / 白晔未稀
用指针传参是传址,比用值传参效率更高,也更节约内存。例如一个函数需要传入一个结构体对象,用某个指针指向要传入的结构体作为函数实参,则传入的指针是一个地址,如果地址是int型则只占用8bit内存,如果用结构体对象实例传值作为实参,所传数据的大小是该结构体所有成员大小之和,比一个地址所占用的内存大得多,所以用指针传参既节约了内存,又提升了函数运行的效率。
2018-08-11
最赞回答 / 修裾欲溯空
作用域分为:
1. 函数原型作用域(最小的作用域)
函数原型:int func(int x); 这是一个函数声明,函数形参x 的作用域就时所谓的函数原型作用域。
2. 块作用域
一对大括号 { ... } 内的一段程序,块中声明的标识符作用域就是块作用域。
3. 类作用域
类成员的作用域。
4. 文件作用域(static)
全局静态变量具有全局作用域,从声明处开始,到文件(.cpp文件)结尾处结束。
5. 全局(程序)作用域(extern)
全局变量具有全局作用域,只要在使用前对其进行...
2018-07-31