1. 程式人生 > >C語言中,"int* a, b, c;" 是正確寫法嗎?

C語言中,"int* a, b, c;" 是正確寫法嗎?

有以下的C語言程式碼

int* a, b, c;
int *a, *b, *c;
int *a, b, c;

其中哪些語句是等價的?
哪些語句又是指標的正確寫法?

對於這些問題,相信一開始學習指標的同學都有些迷惑,現在來剖析一下它們吧
很多人喜歡用第一種寫法定義指標 int*, char*…理解為int型指標、char型指標這樣理解不錯,但是寫法卻是不規範的
int * a, b, c; 的實際含義是:建立一個int型指標a和兩個int型變數b,c, 並不是有些人些這個語句的初衷。
而第二個語句
int *a, *b, *c;的意思是:建立三個int型指標 a,b,c
第三個語句
int *a, b, c;

的意思和 第一個相同

參考書籍:《C和指標》