I'm trying to count the number of elements in an array as a pointer as the code followed:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int *ptr = (int *) malloc(sizeof(int*));
    for(int i=0; i<8; i++)
        {
            printf("The number: " );
            scanf("%d", &ptr[i]);
        }
    int size = sizeof(ptr)/sizeof(int);
    printf("%d\n", size);
    return 0;
}
I have tried the syntax for an array size = sizeof(ptr)/sizeof(int);but I got the wrong answer which is 1 for all cases. I don't know how to get the correct answer, which is  8 for this case
 
    