포인터에서
int *whoA[4] = { &num1,
&num2, &num3,&num4 };
int(*whoB)[4] = arr2d;
int(*whoB)[4] = arr2d;
printf("%d %d %d \n",
*whoA[0], *whoA[1], *whoA[2], *whoA[3]);
printf("%d ",
whoB[i][j]);
일반 포인터(포인터 +
포인터 배열)은 printf같은대서서 쓸떄 *를 쓰는대
왜 배열포인터나 함수포인터에서는 *를 안붙이고 그냥쓰나요?
답변 : 배열이랑 함수는 포인터 = 배열 이라고 생각하고 배열포인터를쓰면 배열포인터=배열 < 이렇게 대입되서 그냥 배열처럼 쓸수있게 된다고 생각하면될 듯..
완벽한거 아님
<추가>
연산자 : *(포인터)
우선 순위 : 2순위. (!, ++, --, - 등과 동급)
결합 순위 : 오른쪽 우선
종류 : 포인터, 단항 연산자
피 연산자의 타입 : int *, double *, char *등의 포인터 타입이되, void *타입에는 사용 불가능.
기능 : 포인터 타입의 변수를 피 연산자로 하며, 해당 변수에 들어있는 주소 값을 찾아가 주소 값에 들어있는 값을 읽어 리턴함.
네이버 카페에 물어봤는대 자세히 적혀있어서 좋았다..만 누가 위키에서 긁어온거같음
다음에는 네이버 카페 같은거 쓰기전에 갓-구글을 먼저 쓰자 정말 갓 이더라..
댓글 없음:
댓글 쓰기