c - 带指针的语句似乎缺少运算符

标签 c pointers

我在 C 代码中遇到了以下语句,但不明白如何解释它。

将第二个操作数识别为指针引用 (*a),在我看来,该语句在操作数之间缺少一个运算符(将 * 解释为指针引用,而不是相乘)。

我已经运行了包含此语句的代码,并且它完成时没有错误,因此我相信该语句是有效的,但我只是不明白它在做什么。

这里是:

val +=input_ptr[a] *filter_ptr[b];

谢谢。

最佳答案

您有两个数组:input_ptrfilter_ptr ,您可以通过执行 input_ptr[0] 来获取存储在这些单元格中的值。所以:

val 随着数组 input_ptr 中索引“a”处存储的值而增加乘以数组 filter_ptr 中索引“b”处存储的值

关于c - 带指针的语句似乎缺少运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65983206/

相关文章:

c - 无限 do-while 循环,应该寻找 JPEG header

C 基本数据类型问题 - const char * to LPCTSTR

c++ - calloc 比 malloc 好吗?

c - GDB 缺少行号

我可以将长数组初始化减少为 C 中的短初始化列表吗?

c++ - C++程序中的堆栈溢出错误

c - 指针作为第二个参数而不是返回指针?

c - 为什么 'z'中存储的值为35?难道不应该是20吗,因为在函数 'c=*b'中(c等于*b指向的值)?

c - 指针算术问题 - 尝试对输入字符串进行标记

C 指针挫折 EXC_BAD_ACCESS