포인터에 대한 이해..
한내
#include stdio.h
#include stdlib.h
#include string.h
#define Lenth 20
#define Num 4
int main()
{
char arr1[Lenth];
char arr2[Lenth];
char arr3[Lenth];
char arr4[Lenth];
char* strptr[4] = {arr1,arr2,arr3,arr4};
char* tempptr=strptr[0];
int i=0;
int j=0;
for(i=0;iNum;i++)
{
printf(%d번째문자열 입력 : ,i+1);
gets(strptr[i]);
}
for(i=0;iNum-1;i++)
{
for(j=0;j(Num-i)-1;j++)
{
if(strcmp(strptr[j],strptr[j+1])0)
{
tempptr=strptr[j];
strptr[j]=strptr[j+1];
strptr[j+1]=tempptr[j];
}
}
}
for(i=0;iNum;i++)
{
printf(버블정렬로 정렬된 문자열 : %s \n,strptr[i]);
}
return 0;
}
붉은색으로 표시한 부분말인데요 strptr[j+1]=tempptr[j]; 이렇게 쓰면 오류가 나더라고요.. 앞에 주소지정? &을 붙여야 오류가 않나던데.. strptr[j+1]=&tempptr[j]; 왜 이렇게 해야하는지좀 알려주세요.. 책을 아무리봐도 제가 이해를 못하겠더라고요..
p.s: 방금 생각난건데.. strptr도 1차원 포인터인데 같은 1차원 포인터 tempptr을 가르키라고하니깐 생기는 오류가 아닐까요??
-
물고기자리
포인터 너무 어려운것 같아요ㅠ 동영상 강의 추천좀해주세요ㅠ
-
주리
strptr[j+1]=tempptr[j]; 이 부분에서 strptr[j+1]=tempptr; 이런식으로 바꾸시면 될듯 합니다.
strptr[0~3] 와 tempptr 은 주소값만 가지고 있는 포인트 변수입니다. tempptr[j]를 하시면 포인트 변수의 주소가 아닌 값을 의미합니다. 포인트변수는 주소값만 넣을수 있기때문에 tempptr[j]의 값의 주소인 &tempptr[j] 이걸 쓰셨기 때문에 오류는 나지 않지만 올바른 표현은 strptr[j+1] -
빵야
strptr[j+1]=tempptr; 아닐까요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698938 | c언어 메모리질문 (3) | 나래 | 2025-06-21 |
2698909 | 서비스 요청 고객 관리 프로그램 짜는것좀 도와주세요ㅜㅜ (4) | 궁수자리 | 2025-06-21 |
2698882 | 프로그래밍좀 짜주세요 (3) | 황예 | 2025-06-21 |
2698855 | 카프-라빈 알고리즘 코딩 분석좀 도와주세요.. | 꽃봄 | 2025-06-20 |
2698829 | 학점계산기 (7) | MyWay | 2025-06-20 |
2698782 | 기초적인 함수 질문이요ㅠㅠㅠㅠ | 내담 | 2025-06-20 |
2698749 | 프로그램 짜던 도중 패닉입니다...ㅜ | 파랑 | 2025-06-19 |
2698719 | 조건부컴파일 질문입니다.~ (2) | 큐트 | 2025-06-19 |
2698693 | 재귀 함수 에러 | 바닐라 | 2025-06-19 |
2698673 | 고민이있는데 들어좀주세요!! (1) | 초코맛캔디 | 2025-06-19 |
2698644 | 1부터 n까지의 합을 구하는데 엄청긴숫자의 합을 구할때는 어떻게 해야하나요? (4) | 슬우 | 2025-06-18 |
2698616 | 다른 함수로 안넘어갑니다..;;; | 도1도캣 | 2025-06-18 |
2698587 | 배열하다 막혀서... (3) | WhiteCat | 2025-06-18 |
2698559 | 문자열을 비우는방법 (2) | 하늘 | 2025-06-18 |
2698528 | 착하고 친절한 선생씌구해염~ㅋㅋ (4) | 옆집언니야 | 2025-06-17 |
2698502 | 자료구조 큐 | 캔서 | 2025-06-17 |
2698477 | 실행화면 배경문의요 | 선아 | 2025-06-17 |
2698430 | 변수의 값이 저장이 않되네요;; (4) | 피네 | 2025-06-16 |
2698404 | C#을 배울려고 하는데 C나 C++을 알아야 하나요 ?? (1) | 신당 | 2025-06-16 |
2698342 | 프로그램 질문점녀 (4) | 데빌의눈물 | 2025-06-16 |