Possible Duplicate:
Sizeof array passed as parameter
I was wondering why the output of the following code is 1 and 9. Is that because of undeclared array in function size? How can I separate "size of array" to a function?
#include "stdafx.h"
#include <iostream>
using namespace std;
int size(int a[])
{
    return sizeof a/sizeof a[0];
}
int main()
{   
    int a[] = {5,2,4,7,1,8,9,10,6};
    cout << size(a) << endl;
    cout << sizeof a/sizeof a[0] << endl;
    system("pause");
    return 0;
}
 
     
     
     
     
     
     
     
    