指向C中的int指针数组的指针

库兹鲁夫微笑

在访问指针数组中的元素时,我有些困惑。假设我有一个指针int ** score_cards,它指向大小为n的int指针数组。我想找到数组元素所指向的整数之和。

我正在考虑这样做:

int sum = 0;
int i;
for(i = 0;i<n;i++){
    sum = sum + *(*score_card+ i);
}

但这是错误的,而以下是正确的:

int sum = 0;
int i;
for(i = 0;i<n;i++){
    sum = sum + *(*(score_card + i));
}

现在,我有两个问题,因为* score_cards指向数组的第一个元素,第i个元素不是* score_cards + i吗?即第一个元素的地址+ i?另外,为什么我们将i增加1,而不是sizeof(* int)?提前致谢!

福兹

请记住,速记语法a[b]存在于*(a + b)并且完全相等。您不应该使用后者,因为它有点难以辨认。

因为* score_cards指向数组的第一个元素

那是不对的。score_cards指向数组*score_cards的第一个元素,是数组的第一个元素。因此,i数组第th个元素等于*(score_cards + i)或相等score_cards[i]

另外,为什么我们将i加1而不是sizeof(* int)?

在C语言中,将整数添加到指针时,该整数会隐式乘以所指向类型的大小。这样,当a是某类型对象的数组,该数组a[i]i-th元素就是。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

指向C中数组的指针

来自分类Dev

指向int的指针的c ++指针

来自分类Dev

在Swift中与指向Int数组的C指针互操作

来自分类Dev

C - 指向指针数组的指针

来自分类Dev

指向数组的C指针

来自分类Dev

C ++ int指向数组的指针指向数组内存泄漏

来自分类Dev

指向C ++中的指针的指针

来自分类Dev

指向C ++中const int的指针

来自分类Dev

指向C中动态数组的指针

来自分类Dev

从C ++中的函数返回指向数组的指针?

来自分类Dev

在C函数中传递指向数组的指针

来自分类Dev

指向C ++中对象数组的指针

来自分类Dev

从C ++中的函数返回指向数组的指针?

来自分类Dev

使指针指向c中的字符数组

来自分类Dev

指向c中匿名结构数组的指针

来自分类Dev

指向int的const数组的指针

来自分类Dev

在C中交换2d数组(指向指针的指针)

来自分类Dev

在C中交换2d数组(指向指针的指针)

来自分类Dev

指向C ++中的字符串指针数组的指针

来自分类Dev

指向指针数组的指针

来自分类Dev

指向Pascal中的指针数组的指针

来自分类Dev

C-指向指针数组的指针

来自分类Dev

C ++指向const指针的const数组的指针

来自分类Dev

C-指向指针数组的指针

来自分类Dev

指向数组指针的双星指针;如何访问数组的指针?C ++

来自分类Dev

ctypes指向c_int与c_ints数组的指针

来自分类Dev

C ++-指向类的指针数组

来自分类Dev

指向数组C ++的指针值

来自分类Dev

C ++指向枚举数组的指针