복수의 다차원 배열을 가리키는 포인터의 배열
4425 단어 C
달성하고 싶은 일
복수 정의된 다차원 배열에 변수 조작으로 액세스하고 싶다.
예를 들어 아래 그림과 같이 PtrArray [0]로하면 배열 a에 액세스 할 수 있고 PtrArray [1]로하면 배열 b에 액세스 할 수 있습니다.
구현
#include <stdio.h>
const unsigned char a[2][3] = {{0, 1, 2}, {3, 4, 5}};
const unsigned char b[2][3] = {{10, 11, 12}, {13, 14, 15}};
const unsigned char c[2][3] = {{100, 110, 120}, {130, 140, 150}};
// unsigned char型のデータを指し示すポインタの配列(配列のアドレスを格納)
const unsigned char *PtrArray[3] = {
a,
b,
c,
};
int main(void)
{
unsigned char (*p)[3];
p = PtrArray[1]; // 右辺の要素番号で指し示す配列を切り替える。この場合は配列bを指し示すようにする。
// 配列bから値14を取得する
printf("val: %d\n", *(p[1]+1));
// もちろん、単純にこれでもOK(突然の+4は困惑するかもしれない。)
printf("val: %d\n", *(PtrArray[1]+4));
}
Reference
이 문제에 관하여(복수의 다차원 배열을 가리키는 포인터의 배열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sunadandy/items/ee106895c698535dd364텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)