前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言 | 每日基础(57)

C语言 | 每日基础(57)

作者头像
小林C语言
发布2020-09-17 15:52:28
3360
发布2020-09-17 15:52:28
举报
文章被收录于专栏:C语言入门到精通

古代的剑客们与

对手相逢时,无

论对手多么强大,

明知不敌,也要亮出自己的剑!

读者:“const char *p” 和 “char * const p” 有何区别?

阿一:“const char *p” (也可以写成 “char const *p”) 声明了一个指向字符常量的指 针, 因此不能改变它所指向的字符; “char * const p” 声明一个指向 (可变) 字符的 指针常量, 就是说, 你不能修改指针。“从里到外” 看就可以理解它们。

读者:为什么我不能向接受 const char ** 的函数传入 char **?

阿一:你可以向接受 const-T 的指针的地方传入 T 的指针 (任何类型 T 都适用)。但是, 这个允许在带修饰的指针类型上轻微不匹配的规则 (明显的例外) 却不能递归 应用, 而只能用于最上层。如果你必须赋值或传递除了在最上层还有修饰符不匹配的指针, 你必须明确 使用类型转换 (本例中, 使用 (const char **)), 不过, 通常需要使用这样的转换意 味着还有转换所不能修复的深层次问题。

读者:怎样正确声明 main()?

阿一:int main(), int main(void) 或者 int main(int argc, char *argv[])。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

小编二维码

长按/加好友

- END -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档