指针一定要有*符号吗

我想问一下如果int n;那么int pn=&n跟int*pn=&n有什么区别吗?
&n本质上不是一个int类型的整数吗,那么用一个int类型的变量来装它也是可以的吧

【c语言指针什么时候加星号,c语言中指针前面的星号,什么时候可以省去,什么时候又必须带上呢?(转载)...】https://mbd.baidu.com/ma/s/oOKOWyOj

int pn = &n会报错,你需要强制转换,int pn = (int)&n; 然后两者存储的是相同值。但后面由于类型不一致,你 pn没法当地址用,又得强制转换为指针类型才可以。
&n本质上不是一个int类型的整数吗 ====对的
那么用一个int类型的变量来装它也是可以的吧=====从数据层来说,没毛病。但逻辑层来说,完全两种东西了