C指针问题 为什么使用*c而不用c

C指针问题 为什么使用*c而不用c

刚开始学,翻书也没明白,求指教

【程序设计】

功能:将两个两位数的正整数a、b合并形成一个整数放在c
中。合并的方式是:将a数的十位和个位数依次放在
c数的千位和十位上, b数的十位和个位数依次放在
c数的个位和百位上。
例如:当a=45,b=12。调用该函数后,c=4251。

#include  
  
void fun(int a, int b, long *c);

int main()   
{ 
  int a,b;
  long c; 
  int state = 1;
  printf("Enter a: ");
  printf("(q to quit)");
 
  while( scanf("%d",&a)==state)
  {
    printf("Enter b: ");
    printf("(q to quit)");
    while( scanf("%d",&b)==state)
       {
          fun(a, b, c);     
          printf("The result is: %ld\n", c);

       }
  }
  return 0;
}   

  void fun(int a, int b, long *c)     
{
  /**********Program**********/
    *c = 100*(a%100)+b%100;
  /**********  End  **********/
}