このコードの printf("%d␣", (arr + (icols) + j)); によって行列の内容が表示できるのはなぜですか?
#include <stdio.h> void display2DArrayA(int (*arr)[5], int rows); void display2DArrayP(int *arr, int rows, int cols); void display2DArrayA(int (*arr)[5], int rows) { int i, j; for(i=0; i<rows; i++) { for(j=0; j<5; j++) printf("%d␣", arr[i][j]); printf("\n"); } } void display2DArrayP(int *arr, int rows, int cols) { int i, j; for(i=0; i<rows; i++) { for(j=0; j<cols; j++) printf("%d␣", *(arr + (i*cols) + j)); printf("\n"); } } int main(void) { int matrix[2][5] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10} }; display2DArrayA(matrix, 2); display2DArrayP(&matrix[0][0], 2, 5); return 0; } コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/11 06:27
2020/10/11 07:16
2020/10/11 07:21
2020/10/11 12:47
2020/10/11 23:21
2020/10/11 23:30