[juliantec_list] Re: 关于const char *的疑问

  • From: "Yihe Chen" <yihect@xxxxxxxxxxxxxx>
  • To: "hetao21182" <hetao21182@xxxxxxx>, "adil ju" <app-dev-in-linux@xxxxxxxxxxxxxx>
  • Date: Mon, 24 Oct 2011 20:27:15 +0800

在使用const char *类型的参数时,如果
函数原型里定义的参数是const char *的
形式,就不允许使用一个char *类型

不是很明白你这里说的是什么?
在一个函数的参数定义里面,假如用 const
去修饰这个函数的 char * 型的形参,那
在这个函数的函数体里面就不能去修改这个
形参所指的内存。

定义的变量,但是如果是通过函数调用
的方式,定义一个实参是char *类型,
通过参数传递的方式,那是可以的,
请问下,这个是为什么呢?

函数的形参是 const char *,但是在
函数调用的时候,却是可以传之以 char *
型实参的。就像 strcpy  函数,它的原型
是:

char *strcpy(char *dest, const char *src);

但是在调用的时候,可以将 char * 的实参
传递给 src 参数。





Learning, Just As Your Favourite Thing!

Maillist, See http://www.juliantec.info/mlist/mail-lists.html
JulBlog, See http://www.juliantec.info/julblog/summary.php
JulWiki, See http://www.juliantec.info/wiki/




Other related posts: