sizeof什么时间加括号什么时候不加括号?
sizeof当用应用于一个表达式的时候不需要圆括号:
例如 sizeof i;
如果运算符优先的时候需要:
例如sizeof(i+j);
方法一、
int main(int argc, char const *argv[]) { int c[] = {1, 2, 3, 4, 'a'}; int d; d = sizeof c / sizeof *c; std::cout << d << ' '; // 答案: 5 return 0; }
方法二、
//#define LENGTH(array)((sizeof(array)) / sizeof(array[0]))
#define LENGTH(array)( sizeof array / sizeof *array ) int test() { int myints[4]; int myli[] = {2, 3, 1, 2, 3, 2, 1}; cout << LENGTH(myints) << endl; cout << LENGTH(myli) << endl; return 0; }