#include <stdio.h>
void print1(int (*ptr)[4]);
void print2(int (*ptr)[4],int n);
int main() {
int multi[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*ptr)[4],count;
ptr=multi;
for(count=0;count<3;count++) {
print1(ptr++);
}
puts("\n\nPress Enter");
getchar();
print2(multi,3);
printf("\n");
return 0;
}
void print1(int (*ptr)[4]) {
int *p,count;
p=(int*)ptr; //p는 int형에 대한 포인터 p가 ptr에 있는 주소와 같아지게
//유형 변환을 해야 한다
//현재 ptr은 16byte씩증가 p는 4byte씩 증가
for(count=0;count<4;count++) {
printf("\n%d",*p++);
}
}
void print2(int (*ptr)[4],int n) {
int *p,count;
p=(int*)ptr;
for(count=0;count<4*n;count++) {
printf("\n%d",*p++);
}
}
'Language > C & C Plus' 카테고리의 다른 글
[C] OX 게임(버그 좀 있음) (0) | 2012.07.13 |
---|---|
[C] 몇초간 정지 시키기 (0) | 2012.07.13 |
[C] scanf() 함수 사용시 주의 사항 및 처리 방법에 대하여 (0) | 2012.07.13 |
[C] 학생 개인성적 평균 구하는 프로그램(조건 까다로움) 2가지 버전 (0) | 2012.07.13 |
[C] 회원 도서 대출 관리 프로그램 (0) | 2012.07.13 |