Objective C乘以2 int *

时间:2016-01-13 11:16:12

标签: ios objective-c

此代码显示此错误Invalid operands to binary expression ('int*' and 'int*')

    int *a = 5;
    int *b = 3;
    int *c = a*b;

我如何将它们相乘,为什么这是一个错误?

3 个答案:

答案 0 :(得分:3)

您正在使用int*值初始化int。要将值相乘并将它们写入另一个指针,您应该使用(*a)

调用存储在地址中的值。

这是您要执行的操作的示例代码:

int *a = malloc(sizeof(int));
int *b = malloc(sizeof(int));
int *c = malloc(sizeof(int));
*a = 2;
*b = 3;
*c = (*a)*(*b);
printf("%d %d %d", *a,*b,*c);
free(a);
free(b);
free(c);

按预期打印2 3 6。

答案 1 :(得分:2)

请删除asterisk符号,因为int是原始数据类型而非对象。您可以将asterisk符号放在对象而不是基本数据类型中。

星号符号是C语言的指针符号。

    int a = 5;
    int b = 3;
    int c = a*b;

答案 2 :(得分:2)

这是C(基本类型)整数类型,因此您无法使用指针声明。

请找到以下代码:

  

int a = 5;

     

int b = 3;

     

int c =(a * b);

由于