在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時,需要在變量名稱前加星號(*)來表示該變量是一個指針變量。