• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

心动何时开业

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

sizeof(数组名)/sizeof(*数组名)=数组长度

sizeof对数组的用法

int arr[] = {22,34,3,32,82,55,89,50,37,5,64,35,9,70};
int len = (int) sizeof(arr)/sizeof(arr);
printf("%d\n",sizeof(arr));
printf("%d\n",sizeof(
arr));
输出结果为56,4,表示最后长度为14的数组。

数组名代表元素的首地址,所以sizeof(arr)代表整个数组所占的内存空间,即144Byte=56Byte;而a表示指向首地址,即表示首地址的内容,所以sizeof(*a)表示首元素所占内存空间的大小,进行相除就是数组元素的数量。

posted on 2021-12-02 11:43  心动何时开业  阅读(1496)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3