anp*_*tel 8 c syntax pointers variable-declaration
我在C上相当新,我不知道以下两个变量声明之间的区别:
int* ptr;
int *ptr;
Run Code Online (Sandbox Code Playgroud)
我认为在宣言中int* ptr;
,ptr
价值不能改变,而声明可以改变,int *ptr;
我不确定是不是这样.
请帮助我理解这两个声明背后的概念.
And*_*mas 25
对于编译器,两个声明之间没有区别.
对于人类读者,前者可能暗示"int*"类型适用于同一语句中的所有声明.但是,*仅绑定到以下标识符.
例如,以下两个语句都只声明一个指针.
int* ptr, foo, bar;
int *ptr, foo, bar;
Run Code Online (Sandbox Code Playgroud)
此语句声明了多个指针,这会阻止使用"int*"间距.
int *ptr1, *ptr2, *ptr3;
Run Code Online (Sandbox Code Playgroud)