返回介绍

数组变量好比指针……

发布于 2024-10-10 23:21:23 字数 678 浏览 0 评论 0 收藏 0

当你创建了一个数组,数组变量就可以当作指针使用,它指向数组在存储器中的起始地址。当 C 语言在函数中看到这样一行代码时:

计算机会为字符串的每一个字符以及结束字符

\0 在栈上分配空间,并把首字符的地址和 quote 变量关联起来,代码中只要出现这个 quote 变量,计算机就会把它替换成字符串首字符的地址。其实,数组变量就好比一个指针:

……所以传给函数的是指针

这就是为什么 fortune_cookie() 代码发生了奇怪的事情。看起来把字符串传给了 fortune_cookie() 函数,但实际上只传了一个指向字符串的指针:

这就是为什么 sizeof 运算符会返回奇怪结果,它只是返回了字符串指针的大小。指针在 32 位操作系统中占 4 字节,在 64 位操作系统中占 8 字节。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文