加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何获取指针数组中的元素数量?

发布时间:2020-12-16 10:53:54 所属栏目:百科 来源:网络整理
导读:如何获取指针数组中的元素数量? 以下是我的代码: struct mystruct { int a; char ch[10]; int c; };mystruct *m_arr[2]; 我在其他一些文件中遍历此数组.我没有在每个文件中硬编码为2,而是想以编程方式获取数组中的元素数量. 解决方法 不要使用原始数组.使
如何获取指针数组中的元素数量?

以下是我的代码:

struct mystruct     
{    
  int a;    
  char ch[10];    
  int c;    
};

mystruct *m_arr[2];

我在其他一些文件中遍历此数组.我没有在每个文件中硬编码为2,而是想以编程方式获取数组中的元素数量.

解决方法

不要使用原始数组.使用标准容器,如std :: vector或std :: array.这两个都有一个.size()成员,并允许基于范围的语法:

for (mystruct* p : m_arr)

如果你需要C兼容性,它们都提供了一个data()成员函数,它返回一个指向底层数组中第一个元素的指针. (在你的情况下,这将是一个神秘的**)

编辑:原始数组也支持基于范围的语法 – 但仅当可见声明包含元素数量时(因此my_struct * m_arr [2];很好,但my_struct * m_arr []不起作用).如果没有定义大小,也不可能声明std :: array.?其他容器(如std :: vector)?不要在声明中包含大小.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读