#include<stdio.h>
void printS(char []);
int main(){
char str[]="The C Programming Language";
printf("%d \n",sizeof(str)); //output=27
printS(str);
}
void printS(char s[]){
printf("%d \n",sizeof(s)); //output=4
}
Почему этот аномальный выходПочему sizeof() массив char иногда sizeof (void *), а иногда sizeof (массив)?
пожалуйста, объясните, в чем разница между «ул» и «с» .... и как я могу иметь SizeOf() выход = 27 в функции принтами.
В вводных классах нас часто учат, что массивы являются указателями, а указатели - массивами. Это неправда. Они похожи по-разному, но не то же самое. – abelenky