ทำไมต้องใส่ int* a แทนที่จะใส่ int a

void getData(int* a,int* b);
main()
{
    int c,d;
    getData(&c, &d);
    printf("** main a= %d :b = %d",d,c);
    getch;
}
void getData(int* a,int* b)
{
    printf("pls enter two integer number: ");
    scanf("%d %d",a,b);
    printf("** getdata a = %d b = %d\n",*a,*b);
}

ทำไมต้องใส่ int* a แทนที่จะใส int a เพื่อที่จะให้ค่ามันบันทึกที่ c กับ d กับ a และ b ขอเหตุผลหน่อยครับ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
int* a หมายถึง pointer ที่ชี้ไปยังค่า a ที่เป็น int ครับ

การใช้ pointer ก็เพื่อให้ allocate memory ได้ดีขึ้นครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่