在C语言中,指针加星号(*)和不加星号的区别在于其在声明中的位置和用途。
在声明中的位置:
用途:
例如:
int a = 10; // 声明一个普通变量a,值为10
int *ptr = &a; // 声明一个指针变量ptr,存储a的内存地址
printf("%d\n", a); // 输出10
printf("%d\n", *ptr); // 输出通过指针访问a的值,即10
printf("%u\n", &a); // 输出a的内存地址
printf("%u\n", ptr); // 输出ptr存储的内存地址
在上面的例子中,变量a是一个普通变量,通过指针ptr访问a的值时需要使用解引用操作符*。而在声明指针变量ptr时,需要在变量名称前加星号(*)来表示该变量是一个指针变量。