#include <iostream>
using namespace std;

int fun(char *arr) {
	return sizeof(arr);
}

int fun2(char arr[3]) {
	return sizeof(arr); // It's treating the array name as a pointer to the first element here too
}

int fun3(char (&arr)[6]) {
	return sizeof(arr);
}


int main() {
	
	char arr[] = {'a','b','c', 'd', 'e', 'f'};
	
	cout << fun(arr); // Returns 4, it's giving you the size of the pointer
	
	cout << endl << fun2(arr); // Returns 4, see comment
	
	cout << endl << fun3(arr);
	
	return 0;
}