int pArr[]과 int *pArr[]은 완전히 동일한 것.
=> 둘다 int형 포인터 변수임
(int pArr[]을 사용하는 이유: 함수의 매개 변수를 선언하는 데 있어서 인자로 배열이 전달된다는 것을 좀 더 명확히 할 수 있도록 "int pArr[]"이라는 선언을 허용하는 것일 뿐
1)int *parr 방식
#include <stdio.h>
int main(void){ sumofarr=arradd(arr, sizeof(arr)/sizeof(int));
for(i=0; i<n; i++) return sum; |
2)int pArr[]방식
#include <stdio.h>
max = maxvalue(arr, sizeof(arr)/sizeof(int));
int maxvalue(int pArr[], int n){ return max; |
둘다 완전히 같은 표현이지만, int arr[]아 같은 선언은 매개 변수 선언시 예외적으로 허용되는 방법에 지나지 않으므로, 되도록이면 int *arr과 같은 선언을 사용하는 것이 좋다.
(단 어느 방법으로 구현하든지 이해할 수 있도록 두 방법다 숙지해야 함.)
'Language > C언어' 카테고리의 다른 글
포인터와 const키워드 (0) | 2011.02.26 |
---|---|
scanf 함수 호출 시 &를 붙이는 이유 (0) | 2011.02.26 |
문자열 배열 (0) | 2011.02.26 |
메모리 동적 할당 _ 1] malloc 함수 - free 함수 - calloc 함수 (0) | 2010.09.28 |
C 언어의 메모리 구조 (0) | 2010.09.27 |