const 和指针赋值

const 和指针赋值当指针之间发生赋值或者传参,必须满足两个条件:两个操作数都是指向有限定符或无限定符的相容类型的指针;左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。因此,常常可以在库函数从看到形参类型是const*,而可以接受的实参类型既可以是const*,也可以是指针变量。例如strlen函数是这样声明的:size_tstrlen(constchar*str)因为参数s…

大家好,欢迎来到IT知识分享网。

当指针之间发生赋值或者传参,必须满足两个条件:

两个操作数都是指向有限定符或无限定符的相容类型的指针;
左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。

因此,常常可以在库函数从看到形参类型是 const *,而可以接受的实参类型既可以是 const *,也可以是指针变量。例如 strlen 函数是这样声明的:
size_t strlen(const char *str)
因为参数str是“指向常量的指针”,具有const限定符,所以传参(类似赋值)的过程可以接受像"hello"这样的字面值,也可以接受像char *buf = (char *)malloc(n) 这样的变量参数。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24169.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信