let's say we have a C function like this,
void assign(int* refs)
{
*refs = 123;
}
and call it in two ways
1.
int a;
assign(&a); // a is assigned a value.
int* a;
assign(a);// runtime error
I know that assign value to pointer that points to null is not ok since there is not correspond memory being allocated.
But
[1] why passing address of uninitialized variable works well?
[2] What does &a means when a hasn't been initialized.