Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
指针C-声明_C - Fatal编程技术网

指针C-声明

指针C-声明,c,C,可能重复: 我正在与c语言斗争。指针对我来说是新的,我想我越来越接近于理解它们 我有一个问题 以下两者之间的区别是什么: int k = 4; int* pcp = &k; 及 我似乎找不到指针的这些声明之间的任何区别,它只是语法上的糖,还是有任何区别 谢谢你可以自己试试。只需输入两个,打印出来,看看会发生什么:P 如果我没有大错特错的话,也是一样的;) 这些声明没有区别,但以下两个声明之间有区别: int* p, p2; // declares a pointer to int

可能重复:

我正在与c语言斗争。指针对我来说是新的,我想我越来越接近于理解它们

我有一个问题

以下两者之间的区别是什么:

int k = 4;
int* pcp = &k;

我似乎找不到指针的这些声明之间的任何区别,它只是语法上的糖,还是有任何区别


谢谢

你可以自己试试。只需输入两个,打印出来,看看会发生什么:P


如果我没有大错特错的话,也是一样的;)

这些声明没有区别,但以下两个声明之间有区别:

int* p, p2;  // declares a pointer to int and a regular int 
以及:

你的例子可能隐藏了这一点


所以我更喜欢第二个声明。

唯一的区别是空格的位置。在语义上,它们是相同的。这不是“句法上的糖”。。。那根本不是这个词的意思。这与指针无关……这就是为什么通常更倾向于将
*
粘贴到变量名--
int*p,p2很痛苦。@DavidSchwartz不,通常最好对每个指针使用单独的声明,并将“*”粘附到基类型,因为它属于基类型。
int* p, p2;  // declares a pointer to int and a regular int 
int *p, *p2; // declares two pointers to int