c/c++(疑5)そんなにたくさん話したので、一番簡単なものを試してみましょう.
2009 ワード
</pre><h1> :</h1><pre class="cpp" name="code">#include <stdio.h>
#include <stdlib.h>
void main()
{
int arr[] = {1,3,5};
//
int arr1[3];
for (int i =0; i < 3; i++)
{
arr1[i] = arr[i];//
printf("arr1[i] =%d
", arr1[i]);
}
//
int *arr2[3];// , , , arr
for (int i =0; i < 3; i++)
{
arr2[i] = &arr[i];
printf("arr2[i] =%d", *(arr2[i]));
printf("*(arr2 + i) = %d
", **(arr2 + i));
}
const int *p;
int const *p1;
int (*p3)[3];//
p3 = &arr;//
for (int i =0; i<3; i++)
{
printf("------p3 =%d
", **(p3++));//
}
//printf("&arr =%d------", &arr);
//printf("arr =%d
", arr);
p = arr;
for (int i =0; i<3; i++)
{
printf("%d
",*p++);
}
//int *const p2;// ,
int *const p2 = arr;
//printf("%d
",*p2);
/*for (int i=0; i < 3; i++)
{
printf("%d
",*p2++);//p2 ,
}*/
system("pause");
配列とポインタのいくつかの一般的な形式
#include <stdlib.h>
#include <stdio.h>
void main()
{
int arr[] = {1,2,3,4,5,6};
int *ptr;
ptr = arr;
for (int i =0; i < 6; i++)
{
printf("*(ptr + i) = %d,*(arr+i) = %d
", *(ptr+i),*(arr + i));
}
for (int i =0; i < 6; i++)
{
printf("*ptr++ = %d,,arr[i] = %d
", *ptr++,arr[i]);
}
system("pause");
}
ポインタ配列の変更
#include <stdlib.h>
#include <stdio.h>
void main()
{
int arr[] = {1,2,3,4,5,6};
int *ptr;
ptr = arr;
//
for (int i =0; i < 6; i++)
{
*(ptr+i) = 15;// ptr = arr; ptr arr
printf("*ptr++ = %d
", *ptr+i);
}
system("pause");
}
c/c+(疑い1)配列とポインタ
c/c+(疑問2)const extern
c/c+(疑3)C言語ポインタと配列の関係
c/c+(疑4)ポインタ配列と配列ポインタの関係