C语言和JAVA一样,函数参数传递方式都为值传递方式
来源:互联网 发布:web程序员怎么兼职地州 编辑:程序博客网 时间:2024/05/22 17:34
定义按值传递和按引用传递这两个术语是重要的。
按值传递意味着当将一个参数传递给一个函数时,函数接收的是参数的一个副本。因此,如 果函数修改了该参数,仅改变副本,而原始值保持不变。按引用传递意味着当将一个参数传递给一个函数时,函数接收的是参数的内存地址,而不是参数的副本。因 此,如果函数修改了该参数,调用代码中的原始值也随之改变。
JAVA和C中只有值传递方式,C++中有引用传递方式
但C中若传递的参数为地址,则可以达到引用传递的效果,但仍是值传递方式
void GetMemory(char *p, int num)
{
p= (char *)malloc(sizeof(char) * num);
}
int main(void)
{
char *str = NULL;
GetMemory( str, 100 ); // str 仍然为 NULL
strcpy(str, "hello"); // 运行错误
return 0;
}
Test函数的语句GetMemory(str, 200)并没有使str获得期望的内存,str依旧是NULL,原因在于 (这里犯了值传递的错误,虽然p是指针,但对于p本身来说,这里还是值传递.即函数生成了个值和p相同的char *临时变量,即p的拷贝,为这个临时指针分配了空间,而p并没有改变.
)
)
- C语言和JAVA一样,函数参数传递方式都为值传递方式
- C语言函数参数传值方式传递
- c语言参数传递方式
- java函数参数传递方式
- Java函数参数传递方式
- C语言函数参数的传递方式[原]
- C语言中函数参数传递的方式。
- C语言中函数参数传递的三种方式
- C语言中函数参数传递的三种方式
- C语言函数的参数及传递方式
- C语言:函数参数传递的三种方式
- C语言中函数参数传递的三种方式
- C/C++:函数参数传递方式
- 函数参数传递方式(c/c++)
- 函数参数传递方式
- 函数参数传递方式
- 函数参数传递方式
- 函数参数传递方式
- 中文转换为拼音时,同时将中文括号转换为英文括号
- 心情不好
- virtual void DoDataExchange(CDataExchange* pDX);这句是干什么用的?
- WinCE平台的程序编译到Win32平台下运行
- java学习之前你必须知道的几个事
- C语言和JAVA一样,函数参数传递方式都为值传递方式
- DirectX 三维模型和材质编辑查看工具 汉化版发布
- 临时表的使用
- insmod错误~~~~~~
- 利用iphone的多线程实现“售票系统”(手把手教你iphone开发 - 基础篇)
- 让vdsp与uclinux共舞(13):应用程序加载
- 在.net2.0中,怎么样实现对gridview删除行时弹出确认对话框
- Dreamhost账户
- 使用.NET FileSystemWatcher对象监控C#目录改变