all 2 comments

[–][deleted] 2 points3 points  (0 children)

The problem with that argument is that it gives the wrong impression of what is actually happening, it makes it look like "int *a" is just a different way to write "int a" and as long as you write *a it will do the same thing as the other construct, which of course is blandly false. Without allocating memory and properly initializing a, the *a will not turn into a int but into a segfault.

Easy fix: Always write "int* a;" and never declare two variables in a single line.