포인터 to 포인터 질문(더블포인터) 입니다..ㅠㅠ(꼭 부탁!!)
소1유물
질문 제목 : 포인터 to 포인터 질문(더블포인터) 입니다..ㅠㅠ포인터 to 포인터 질문(더블포인터)일때의 힙 할당질문 내용 :
#includestdio.h
#includestdlib.h
void a(int * (*a));
int main(int argc,char*argv[]){
int (*a);//힙에할당할 배열
a(&a);
}
void a(int* (*a)){
*a=(int(*))calloc(5,sizeof(int));//5칸짜리 배열을 메인의 *a로부터 힙에 할당..
*a[0]=1;
//여기서부터 오류...(왜그런지????)
*a[1]=2;
font color=#352e2c/font*a[2]=3;
*a[3]=4;
*a[4]=5;
}
-
라 2024-08-20
정말 정확한 설명이네요.^^;; 정말 감사합니다. *a[]요런 식으로 접근하면 제가 원하는 것처럼 a로 접근하여 그 주소값의 배열로 따라 가는 것이 아니라 우선순위에의하여 a[]이것에 먼저 접근하게 되니... 제가 한 결과 처럼 나오는 군요.^^;;; 제가 생각이 좀 짧았던거 같습니다. 좋은 거 배우고 갑니다. 다시한번 감사드립니다.
-
꽃가을 2024-08-20
예전에 포인터 공부할때 쉽게 이해했던 부분이, 포인터 배열 나오면 뒤,앞,뒤,앞 규칙이 있습니다.
괄호가 없다면 무조건 변수명 뒤에, 그다음에 변수명 앞에것 이렇게 해석해 나간다는 나름 규칙......ㅋㅋ
하신것처럼 *a[1] 이라 하면 *(*(a+1)) 를 말하는것입니다. 메모리 할당 받은건 *a에 있는데 a+1가 가리키는 알수없는주소에 값을 집어 넣으려고 하니 에러가 발생합니다.
그러니 윗분 말씀처럼 (*a)[1]하는게 맞습니다. 어~!!근데 -
레온 2024-08-20
정말 정확한 설명이네요.^^;; 정말 감사합니다. *a[]요런 식으로 접근하면 제가 원하는 것처럼 a로 접근하여 그 주소값의 배열로 따라 가는 것이 아니라 우선순위에의하여 a[]이것에 먼저 접근하게 되니... 제가 한 결과 처럼 나오는 군요.^^;;; 제가 생각이 좀 짧았던거 같습니다. 좋은 거 배우고 갑니다. 다시한번 감사드립니다.
-
글길 2024-08-20
음 정확한 설명은 못드리겠구요. 도움 드리자면보통 *a[0] =1;라 하면 컴파일러가 값의 배열 0번째 인지 인지를 합니다. (짐작으론 배열의 0번째라 인지를 하는거 같습니다. 예를 들면 변수 a나 a[0]이 같은거 처럼 인지 하는거 같네요... 이부분은 아시는 분이 대답좀 ;;)
그러나 *a[1]=2;에선 컴파일러가 구분을 못합니다. 그런데 (*a)[1]=2; 라 해주면 컴파일러가 인지를 하지요 컴파일러는 괄호를 써주면 괄호안의 내용부터 해석합니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690517 | cygwin에서요.. (1) | 엘보어 | 2025-04-05 |
2690486 | 문자열과 문자형이요 ~ | 다스리 | 2025-04-05 |
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |
2689888 | 좀도와주세요;; ㅠㅠ | 사람 | 2025-03-30 |
2689856 | 메뉴 그리는 거 질문 | 나라빛 | 2025-03-30 |
2689831 | c언어 프로그램 추천 | 하연 | 2025-03-30 |
2689801 | c언어 time.h에서 작동이 중지되었습니다. | 하람 | 2025-03-30 |
2689772 | 2차원 배열의 배열명에 대해서.. | 옆집꼬마야 | 2025-03-29 |
2689740 | 게임 TCP소켓 질문 (2) | 불꾼 | 2025-03-29 |
2689711 | 반복문 모래시계 | 한뎃집 | 2025-03-29 |
2689685 | 경우의 수에 따른 결과 처리 질문드립니다. (2) | 다흰 | 2025-03-29 |
2689655 | .exe에 아이콘 넣는 법좀 알려주세요 | 연하얀 | 2025-03-28 |