C/C++ 查看数组类型长短 , python的len的封装原理

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 << '\n'; // 答案: 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; }

 

posted @ 2018-01-17 10:35  我当道士那儿些年  阅读(721)  评论(0编辑  收藏  举报