sizeof数组名 &数组名
时间: 2023-08-26 14:05:53 浏览: 101
对于一个数组名,使用`sizeof`操作符将返回整个数组的大小(以字节为单位),而使用`&`操作符将返回指向整个数组的指针。请注意,这两个操作符在不同的上下文中具有不同的行为。
例如,考虑以下代码片段:
```c
int arr[5] = {1, 2, 3, 4, 5};
printf("Size of arr: %zu\n", sizeof(arr));
printf("Address of arr: %p\n", &arr);
```
输出将是类似以下的结果:
```
Size of arr: 20
Address of arr: 0x7ffc1a7b6a90
```
在这里,`sizeof(arr)`返回整个数组`arr`的大小,由于`int`类型占据4个字节,所以数组的大小为4乘以5,即20个字节。而`&arr`返回指向整个数组的指针,即数组的首地址。
需要注意的是,当数组作为函数参数传递给函数时,它将自动退化为指向数组第一个元素的指针。因此,在函数中使用`sizeof`操作符计算数组大小将会得到指针的大小,而不是整个数组的大小。
相关问题
c语言sizeof数组名
C语言中,sizeof操作符可以用来获取变量或数据类型的大小,而对于数组名,sizeof操作符的结果是整个数组的大小,而不是指针的大小。下面是一个示例:
```c
#include <stdio.h>
int main() {
int arr[5] = {1, 2, 3, 4, 5};
printf("Size of arr: %lu\n", sizeof(arr)); // 输出:20,因为int类型占4个字节,所以整个数组大小为5 * 4 = 20字节
return 0;
}
```
需要注意的是,sizeof操作符返回的是一个`size_t`类型的值,表示字节数。在上面的示例中,`%lu`是用来格式化`size_t`类型的输出。
sizeof数组名和指针
数组名和指针的sizeof是不同的。根据引用中的解释,数组名和指向该数组的指针在地址上是相同的,但是它们的大小不同。数组名的sizeof返回的是整个数组的大小,而指针的sizeof返回的是指针类型的大小。所以,sizeof数组名会返回整个数组的大小,而sizeof指针会返回指针类型的大小。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [探讨C++中数组名与指针的用法比较分析](https://download.csdn.net/download/weixin_38691256/14871672)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [C++/C中 sizeof(指针)和sizeof(数组名)的区别](https://blog.csdn.net/weixin_38383877/article/details/90922929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [c 语言中的sizeof(数组名)和sizeof(指针)](https://blog.csdn.net/Colorful_lights/article/details/79819682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文