#include <stdio.h>
int main()
{
float arr2d[2][4] = { {1.0f, 2.0f, 3.0f, 4.0f}, {5.0f, 6.0f, 7.0f, 8.0f} };
for (int j = 0; j < 2; j++)
{
printf("[%d] = %u, %u\n", j, (unsigned)(arr2d[j]), (unsigned) * (arr2d + j));
for (int i = 0; i < 4; i++)
{
printf("[%d][%d] = %f, %f\n", j, i, arr2d[j][i], *(*(arr2d + j) + i));
*(*(arr2d + j) + i) += 1.0f;
}
}
printf("\n");
}
[0] = 1828583264, 1828583264
[0][0] = 1.000000, 1.000000
[0][1] = 2.000000, 2.000000
[0][2] = 3.000000, 3.000000
[0][3] = 4.000000, 4.000000
[1] = 1828583280, 1828583280
[1][0] = 5.000000, 5.000000
[1][1] = 6.000000, 6.000000
[1][2] = 7.000000, 7.000000
[1][3] = 8.000000, 8.000000
주소가 저렇게 1828583264 처럼 10자리 나오는게 정상이죠 ?
굳이 포인터로 표시할 필요가 있어? 오히려 배열로 나타내는게 더 가독성이 있을텐데
따배씨 강의 보면서 똑같이 따라하는데 출력화면이 강의는 8자리고 저는 10자리길래요 ㅠㅠ
배열 주소값이 꼭 8자리란 보장은 없음. 직접 주소값을 부여하지 않는 이상 걍 컴파일 과정에서 배열에 주소값을 부여하는것 뿐이고 10진수로 출력하는거니까 10자리도 충분히 가능함.
ㄱㅅ합니다