「C言語/配列とポインタ」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
Ef3 (トーク | 投稿記録)
{{Nav}}
タグ: 2017年版ソースエディター
1 行
{{Nav}}
{{正確性|date=2017年3月}}
 
21 ⟶ 22行目:
#include <stdio.h>
 
int main(void) {
int a[] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 };
{
int *pa = a;
int a[] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 };
int *pa = a;  //ポインタpaを配列aの先頭アドレスで初期化する。
for (int i = 0; i < sizeof a / sizeof *a; i++)
printf("%d ", a[i]); //配列aの内容を表示する。
printf("\n");
for (int i = 0; i < 10; i++)
printf("%d ", *(pa + i)); //ポインタpaを使って配列aの内容を表示する。
printf("\n");
return 0;
}
</source>
48 ⟶ 49行目:
#include <stdio.h>
 
int main(void) {
int a[3][4] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
{
int a[3][4]={*pa;
pa = a[0];
0,1,2,3,
4,5,6,7,
8,9,10,11
};
int *pa;
pa=a[0];
 
//配列aの内容を表示する。
for (int y = 0; y < 3; ++y) {
for (int x = 0; x < 4; ++x) {
{
printf("%2d ", *(pa+(a[y*4)+][x)]);
for(int x=0; x<4; ++x)
}
{
printf("%2d \n", a[y][x]);
}
printf("\n");
}
 
//ポインタpaを使って配列aの内容を表示する。
for(int y=0; y<3; ++y)
{
for(int x=0; x<4; ++x)
{
printf("%2d ", *(pa+(y*4)+x));
}
printf("\n");
}
 
//ポインタpaを使って配列aの内容を表示する。
for (int y = 0; y < 3; ++y) {
for (int x = 0; x < 4; ++x) {
printf("%2d ", *(pa + (y * 4) + x));
}
printf("\n");
}
}
 
</source>
 
== 脚 ==
<references/>