c++: sizeof(int[3])中的int[3]是什么?
c++: what is int[3] in sizeof(int[3])
这是我的例子:
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int ar[][3] = {1, 2, 3, 4, 5, 6, 7};
//cout << int[3]<<endl; // error C2062: type 'int' unexpected.
cout << "sizeof(ar) / sizeof(int[3]) "<< sizeof(ar) / sizeof(int[3]) << endl;;
system("pause");
return 0;
}
它来自一本书,虽然没有给出解释。这里的int[3]是什么?为什么它只能作为sizeof的参数?
int[3]
是一个类型声明,表示一个由三个整数组成的数组。
你的注释代码给出了一个错误,因为你不能使用类型作为变量
sizeof(int[3])
是包含三个整数的数组的大小,以字节为单位。sizeof
不是在程序运行时调用的实际函数-它在编译时解决。sizeof(ar) / sizeof(int[3])
将为您提供数组中的行数,因为每行是3个整数长(您将其声明为int ar[][3]
)。
声明
int ar[][3] = {1, 2, 3, 4, 5, 6, 7};
用于一个由整数三元组组成的数组——它是一个二维数组。
sizeof表达式
cout << "sizeof(ar) / sizeof(int[3]) "<< sizeof(ar) / sizeof(int[3]) << endl;
打印得到的完整三元组的个数。最后一个整数7不属于任何三元组。您应该看到2被打印出来。ar[0]
包含{1, 2, 3}
, ar[1]
包含{4, 5, 6}
相关文章:
- 没有显式声明的int[]中的foreach
- 为什么我无法更改"set<set>"循环中的值<int>
- 比较if语句中的数组值和int值
- 如何将文本文件的特定行读取到 int 类型的数组中C++?
- 为什么 'main' 函数中的局部 int 变量会自动初始化?
- 将字符串中的 int 转换为字母;
- C++ 中文件输入输出中的长长 v/s int
- 逐字读取文本文件中的每一行并转换为 int(无限循环或崩溃?
- c++default-int中的语法错误
- 数组中使用 int 中的位的不同元素数
- 获取INT中的数字数,而无需分开10
- 如何在给定范围内找到 std::set<pair<int、int> > 中的最大值?
- 当我们在int上进行操作时,结果是暂时存储在int中的结果
- 读取int中的数字并对其进行计数
- 存储在 int 中的指针
- 将字符串中的数字与 int 中的数字进行比较
- 终止将输入读取到int中的内容
- 如何确定int中的位数
- 设置无符号int中的最后“n”位
- 如何计算标准::向量<int>中的值总和