CODEDRAGON ㆍDevelopment/C, C++
배열포인터를 사용하지 않고 1차원 포인터 변수에 2차원 배열의 주소를 저장
1)1차원 포인터 변수에 2차원 배열의 주소를 저장할 경우 에러발생확인
2)에러발생 후 에러 수정
소스코드
#include <stdio.h> |
출력결과
eclipse에서의 Error
void func(int* p){ // 1차원 포인터 변수
printf("%d %d %d %d %d %d %d %d \n", p[0],p[1],p[2],p[3],p[4],p[5],p[6],p[7]); // 1차원으로 접근시 => OK printf("%d %d %d %d \n", p[0][0], p[0][1], p[0][2], p[0][3]); // 2차원으로 접근시 => 에러 printf("%d %d %d %d \n", p[1][0], p[1][1], p[1][2], p[1][3]); // 2차원으로 접근시 => 에러 }
|
subscripted value is neither array nor pointer nor vector |
Visual Studio에서의 Error
error C21009: 첨자는 배열 또는 포인터 형식을 사용해야 합니다.
Error수정후 출력결과
void func(int (*p)[4]){ // 2차원 포인터 배열
printf("%d %d %d %d \n", p[0][0], p[0][1], p[0][2], p[0][3]); // 2차원으로 접근시 => OK printf("%d %d %d %d \n", p[1][0], p[1][1], p[1][2], p[1][3]); // 2차원으로 접근시 => OK }
|
'Development > C, C++' 카테고리의 다른 글
지역변수의 주소를 반환해서 생기는 문제 1 (0) | 2016.07.08 |
---|---|
Ex56-함수의 결과로 지역 변수의 주소를 반환할 경우 경고가 발생하는 것 확인하기 (0) | 2016.06.28 |
Ex54-2차원 배열의 주소를 저장하는 배열 포인터 변수 p 사용하기 (0) | 2016.06.20 |
Error-PCH warning: cannot find a suitable header stop location. An IntelliSense PCH file was not generated (0) | 2016.06.18 |
ERROR-_main already defined in xxxxxxx.obj (0) | 2016.06.15 |