读书人

fulpath1=amp;NewAddfulpath1[零]; 和ful

发布时间: 2014-01-22 00:03:39 作者: rapoo

fulpath1=&NewAddfulpath1[0]; 和fulpath1=&NewAddfulpath1; 应是一样吧?
char *fulpath1=NULL;
char NewAddfulpath1[128]={0};
fulpath1=&NewAddfulpath1[0];


请问 fulpath1=&NewAddfulpath1[0]; 和fulpath1=&NewAddfulpath1; 应是一样吧?

[解决办法]
值是一样的,但是不能这样去认为
[解决办法]

引用:
Quote: 引用:

值是一样的,但是不能这样去认为


请问, 为什么?


反证法,如果是相同的
即&NewAddfulpath1[0]==&NewAddfulpath1
由于[]优先级较高 那么可以推出 &(NewAddfulpath1[0])==&(NewAddfulpath1)
即(NewAddfulpath1[0])==(NewAddfulpath1) 显然错误,反证不成立,原命题为假。

语义上来讲,第一个表达式对数组第一个元素求地址,第二个表达式对数组名求地址 含义不同
[解决办法]
为什么不fulpath1=(char *)NewAddfulpath1; 呢?

读书人网 >C语言

热点推荐