Случаи 1, 2 и 3 одинаковы, они объявляют указатели на переменные типа int. Случаи 3, 4 и 5 одинаковы, так как они объявляют один указатель на и одну переменную int соответственно. Если вы хотите объявить два указателя в одной строке (чего не следует делать), вам нужно поставить звездочку перед каждым именем переменной:
int *test, *test2;
Не существует определенного правильного способа, который говорит, куда идет звездочка. int* test
выглядит лучше, потому что нам легче представить, что добавление *
в конец типа означает «указатель на» этот тип. Однако int *test
имеет больше смысла, потому что вы можете работать с ним, как знак минус в математике:
-(-x) = x
аналогично
*(*test) = test
Это всегда помогало мне. К сожалению, результатом всего этого является то, что иногда я использую int* test
, а иногда int *test
.