14、函数的传值和传指针
来源:互联网 发布:智能车循迹编程教学 编辑:程序博客网 时间:2024/06/16 23:07
————————————
向函数传参数时,一般而言,传入非const的指针时,就表示,在函数中要修改这个指针把指内存中的数据。如果是传值,那么无论在函数内部怎么修改这个值,也影响不到传过来的值,因为传值是只内存拷贝。
什么?你说这个特性你明白了,好吧,让我们看看下面的这个例程:
void
GetVersion(char* pStr)
{
pStr = malloc(10);
strcpy ( pStr, "2.0" );
}
main()
{
char* ver = NULL;
GetVersion ( ver );
...
...
free ( ver );
}
我保证,类似这样的问题是一个新手最容易犯的错误。程序中妄图通过函数GetVersion给指针ver分配空间,但这种方法根本没有什么作用,原因就是——这是传值,不是传指针。你或许会和我争论,我分明传的时指针啊?再仔细看看,其实,你传的是指针其实是在传值。
向函数传参数时,一般而言,传入非const的指针时,就表示,在函数中要修改这个指针把指内存中的数据。如果是传值,那么无论在函数内部怎么修改这个值,也影响不到传过来的值,因为传值是只内存拷贝。
什么?你说这个特性你明白了,好吧,让我们看看下面的这个例程:
void
GetVersion(char* pStr)
{
pStr = malloc(10);
strcpy ( pStr, "2.0" );
}
main()
{
char* ver = NULL;
GetVersion ( ver );
...
...
free ( ver );
}
我保证,类似这样的问题是一个新手最容易犯的错误。程序中妄图通过函数GetVersion给指针ver分配空间,但这种方法根本没有什么作用,原因就是——这是传值,不是传指针。你或许会和我争论,我分明传的时指针啊?再仔细看看,其实,你传的是指针其实是在传值。
- 14、函数的传值和传指针
- 二级指针传参和函数指针
- STL的仿函数 和函数指针传参
- c++函数指针和返回值为指针的函数
- 函数指针和指针函数 指针的指针
- 对函数指针,指针函数和指针的指针理解。
- 指针函数、数组指针、函数指针、函数指针数组和指向函数指针数组的指针
- 指针函数和函数指针的区别
- 指针函数和函数指针的区别
- 指针函数和函数指针的区别
- 函数指针和指针函数的区别
- 函数指针和指针函数的基本概念
- 指针函数和函数指针的区别
- 函数指针和指针函数的基本概念
- 指针函数和函数指针的区别
- 函数指针和指针函数的区别
- 指针函数和函数指针的区别
- 函数指针和指针函数的基本概念
- 11、出错信息的处理
- 12、常用函数和循环语句中的被计算量
- 什么是web标准
- 13、函数名和变量名的命名
- ACM Asia Regional (Kanpur Site) Programming Contest 2001 Problem H
- 14、函数的传值和传指针
- 15、修改别人程序的修养
- 16、把相同或近乎相同的代码形成函数和宏
- 17、表达式中的括号
- 18、函数参数中的const
- 利用CVSNT在Eclipse中使用CVS--1.安装与配置CVSNT
- 19、函数的参数个数(多了请用结构)
- 2004IT两会主题
- 20、函数的返回类型,不要省略