, например, у меня естькакая разница между стоимостью возвращаемого таНос() и имя массива
char* c=(char *)malloc(100*sizeof(char));
printf("0x%x,c);
printf("0x%x,&c);
и это будет показано различное значение для c
и &c
.
Однако, если я м, имеющий следующее:
char d[100];
printf("0x%x,d);
printf("0x%x,&d);
это показывает, что значение d
и &d
являются одинаковыми.
Каким образом первый код дает мне отличный результат для c
и &c
?
Возможно, вы имели в виду declare 'char * c' вместо malloc? –
@ChrisO Я, это была опечатка. Благодарю. Я исправил это. – henryyao
Читайте: [Что возвращает sizeof (& arr)?] (Http://stackoverflow.com/questions/15177420/what-does-sizeofarr-return/15177499#15177499) Объясняет разницу между 'd',' & d' –