重複の可能性:
関数引数の配列の長さ
整数配列の長さを取得しようとしていますが、正しい答えが得られません
void main()
{
int x[]={33,55,77};
printf("%d",getLength(x));//outputs 1
printf("%d",sizeof(x)/sizeof(int));//outputs 3
}
int getLength(int *inp)
{
return sizeof(inp)/sizeof(int);
}
では、なぜ getLength が 3 ではなく値 1 を返すのでしょうか?