これは関数で配列を渡すための作業プログラムですが、関数では配列のベースアドレスのみが渡されることを理解できませんがprint
、それでも subscript で配列にアクセスできますa[i]
。正しい方法はわかっています*(a+i)
が、添字でも機能するのはなぜですか?
#include <iostream>
#include <conio.h>
void print(int *a);
using namespace std;
int main()
{
int arr[3]={1,2,3};
print(arr);
getch();
return 0;
}
void print(int *a)
{
for(int i=0;i<3;i++)
{
cout<<a[i];//how we are able to access array with subscipt a[i]
}
}