int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int (*bbb)[3] = arr+1;
printf("%d\n", bbb[0][0]);
출력 4
이중 배열의 주소를 1중 배열로 받아서 쓰기
#define MAX 128
int g_arr[MAX * 2][MAX];
int(*g_arr_128)[MAX] = g_arr;
int(*g_arr_64)[MAX] = g_arr + 128;
int(*g_arr_32)[MAX] = g_arr + 128 + 64;
int(*g_arr_16)[MAX] = g_arr + 128 + 64 + 32;
int(*g_arr_8)[MAX] = g_arr + 128 + 64 + 32 + 16;
int(*g_arr_4)[MAX] = g_arr + 128 + 64 + 32 + 16 + 8;
int(*g_arr_1)[MAX] = g_arr + 128 + 64 + 32 + 16 + 8+4;
void main()
{
int((*aaa[7]))[MAX] = { g_arr_1, g_arr_4, g_arr_8, g_arr_16, g_arr_32, g_arr_64, g_arr_128 };
int ttt = 1;
for (int i = 0; i < 7; i++)
{
int(*tmp)[MAX] = aaa[i];
tmp[0][0] = ttt++;
}
}
Trash_info class 의 포인터를 저장하는 2차원 배열 중 g_can_inside[1] 에 저장된 1000개의 배열을 1차원 배열로 받아서 순환하면서 출력
class Trash_info {
public:
int m_trash_value[CAN_MAX];
int m_order_can[CAN_MAX];
int m_pos_trash;
}
Trash_info* g_can_inside[CAN_MAX][TRASH_MAX];
int main()
{
Trash_info* (*t_info)[TRASH_MAX] = g_can_inside + 1;
////////////
for (int i = 0; i < 10; i++) {
cout << "test : " << (*t_info)[i]->m_trash_value[0] << endl;
}
////////////
}
'Programming > C Programming' 카테고리의 다른 글
cpp 의 sort 사용하기 예제 (0) | 2018.03.16 |
---|---|
strcmp 함수의 모호한 return value (0) | 2017.02.20 |
화면 출력을 버퍼로 변경하기 (0) | 2016.02.18 |
stdout 출력을 file 로 돌리기 (0) | 2016.02.04 |
printf / printk 에서 %p 사용방법 (0) | 2016.01.04 |