1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | void add(int aa[][10]) { int a = sizeof(aa); //원소 한개 사이즈만 반환.. 매개변수를 for (int i = 0; i < a; ++i) { for (int j = 0; j < 10; ++j) { aa[i][j] = 7; } } } int _tmain(int argc, _TCHAR* argv[]) { int arr[4][10] = { 0 }; add(arr); int q = sizeof(arr); //여기선 잘됨 return 0; } | cs |
메인 함수에선 잘되는데
함수의 안에선 원소 하나 사이즈만 반환..
매개변수가 잘못된?
뭐징 전에 배웠던거 같은데...
C++ 템플릿 쓰면 겁나 쉬운데 - return 0;
그럼 만약에 정수 가르키는 포인터면 정수 크기가 나온다는 말씀이신가요?
인자 하나 더 만들어서 넘겨
어렵다..
그럼 위의 사진에서 파라미터에서는 4가 나오는건가요 아니면 4 * 10이 나오는건가요?
배열은 답이 없었네...괜히 혼자 별 지랄 다 해봤네 ㅅㅂ
memcpy같은거에 괜히 사이즈가 들어가는게 아니다
감사합니다 덕분에 저도 잘 배웁니다.
한가지만 더 여쭤볼게요 함수 내에 sizeof(aa) 에서 aa가 int **로 해석이 된다는 말씀이신가요?
감사합니다 좋은 밤되세여!