gpt4 book ai didi

c - 什么是 sizeof() 检查作为 C 中 int array[] 的标记值

转载 作者:太空狗 更新时间:2023-10-29 15:10:24 26 4
gpt4 key购买 nike

让我们考虑一下int array[] = {2,33,4,56,7,8};//案例A

如果 sizeof() 检查 '\0' 作为 char[] 数组的结尾!什么是 sizeof(array) 检查作为哨兵值以找到 int 数组的结尾,因此在情况 A 中数组的大小?

如果我要实现 sizeof (intArray) ,就不能自由访问标记值信息吗?

最佳答案

sizeof 不检查任何内容。它看起来只是一个函数调用,但它实际上是一个运算符,一个编译器技巧,用于插入编译器在编译时已知的大小。

下面是 sizeof 与 C 数组交互的方式:当您声明一个数组时,您可以将其大小指定为常量、运行时整数表达式,或者通过提供一定数量的值来隐式指定放入你的数组。

当元素数量在编译时已知时,编译器会将 sizeof(array) 替换为实际数量。当元素的数量直到运行时才知道时,编译器会准备一个特殊的特定于实现的存储位置,并将大小存储在那里。正在运行的程序将需要此信息来清理堆栈。编译器还让 sizeof 实现的运行时部分知道此隐藏信息,以返回正确的值。

关于c - 什么是 sizeof() 检查作为 C 中 int array[] 的标记值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com