所以Im对c编程来说还比较陌生,实际上Im仅将此类作为我专业的前提。因此,对我而言,指针是一个相当陌生的概念。对于此特定分配,我们不允许使用任何引用变量,并且必须使用内存分配(malloc)来存储值。但是对于其中一部分,它要求打印3个数字的乘积结果(所有结果都是通过指针而不是参考变量分配给地址),我的问题是如何乘以或仅使用指向指针的指针进行任何算术运算值的地址。我想强调一点,我不想增加地址本身,因为我不确定这是否对我有帮助。同样,这对我来说是非常陌生的,因此任何帮助将不胜感激。
int main()
{
int *a , *b, *c, *product;
product = malloc(sizeof(float));
a = malloc(sizeof(int));
b = malloc(sizeof(int));
c = malloc(sizeof(int));
*a = 1;
*b = 2;
*c = 3;
*product = //this is where id assume itd go
}
作业特别指出不要使用参考变量,因此无法完全确定他希望我们如何使用它。谢谢。
答案 0 :(得分:1)
它与普通乘法几乎相同。
*product = (*a)*(*b)*(*c) //should do.
在使用malloc时,请不要忘记使用stdlib.h文件,否则您将收到警告,并且效率低下。
请勿使用像这样的(* int)强制转换,因为malloc返回* void并导致数据损坏。