2015-04-02 49 views
-7

是否下面的代码段意味着同样的事情或每一个都有不同的意义低于指针语法是什么意思

char *data = "blah"; 
char* data = "blah"; 
char * data = "blah"; 
+7

所有相同... – Abhineet 2015-04-02 06:41:44

+3

是的。他们都意味着同样的事情。 – milleniumbug 2015-04-02 06:41:52

+0

[cdecl.org](http://cdecl.org) – 2015-04-02 06:49:31

回答

0

三个相同。唯一的区别是,

  • 星号的位置和周围的空白(这是根据一个的偏好进行)
  • 的字符串文字"blah"可以被存储在相同的存储器位置或不同位置。从C11标准,

    6.4.5字符串文本

    [...]

  • 它是未指定的这些阵列是否是不同的提供其元素具有合适的值 。如果程序试图修改这样一个数组,行为是 未定义。
+0

我想那只是程序员的偏好而已,并不是与语言有关。 – 2015-04-02 06:46:40

0

他们都是相同

char *data = "blah"; 
char* data = "blah"; 
char * data = "blah"; 
char*data = "blah"; 
0

他们都是一样的。他们的意思是,data is a pointer to type char。中间的space没有任何区别。恕我直言,你应该用google/binged了。

编辑::从顺磁羊角面包评论复制的,我认为这将有助于其他:: cdecl.org