文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
数组变量好比指针……
当你创建了一个数组,数组变量就可以当作指针使用,它指向数组在存储器中的起始地址。当 C 语言在函数中看到这样一行代码时:
计算机会为字符串的每一个字符以及结束字符
\0 在栈上分配空间,并把首字符的地址和 quote 变量关联起来,代码中只要出现这个 quote 变量,计算机就会把它替换成字符串首字符的地址。其实,数组变量就好比一个指针:
……所以传给函数的是指针
这就是为什么 fortune_cookie() 代码发生了奇怪的事情。看起来把字符串传给了 fortune_cookie() 函数,但实际上只传了一个指向字符串的指针:
这就是为什么 sizeof 运算符会返回奇怪结果,它只是返回了字符串指针的大小。指针在 32 位操作系统中占 4 字节,在 64 位操作系统中占 8 字节。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论