포인터 관련해서 질문이 있습니다!
갤2
2023.04.01
질문 제목 : 포인터가 왜 쓰이는지 자세히 모르겠어요포인터 개념좀 잡아주세요 ㅠㅠ질문 내용 :제가 이런걸 한번 만들었는데요
#include stdio.h
void main()
{
char line1[100], line2[100], line3[100];
char *p[3];
printf(공백을 포함해도 됨. 문자열 3개를 입력하세요.\n);
p[0] = gets(line1);
p[1] = gets(line2);
p[2] = gets(line3);
printf(\n);
printf(%s, %s, %s\n, p[0], p[1], p[2]);
printf(\n);
}
여기서 *p[3] 이 부분이 잘 모르겠네요...
굳이 *이렇게 선언을 안 해주고p[3]이렇게만 해 줘도 될듯 한데 *이걸 선언 안해주면 런타임에러가 뜹니다.
*이 있고 없고의 차이가 알고 싶어요
-
해찬나래
친절한 답변 감사합니다~!
-
유미
p[3] 이렇게 하시면 p변수에 char형 공간이 3개가 할당되는데요. 여기에 *p[3]을 해주시면 3개의 공간에 포인터 값을 넣어주실수 있어요..
p[0] = gets(line1); - 여기에서 문자열을 입력받는데 gets()함수는 문자열에 주소값(line1의 주소값)을 리턴해줍니다.
그래서 그 주소값을 p[0]에 넣어주는거예요..
p[3]는 char형 공간이 3개이고
*p[3]은 결론적으로 p[3][100](소수상)의 공간을 갖는 셈이죠
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694069 | unsigned 질문입니다. | 힘차 | 2025-05-07 |
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |
2693704 | 구조체 주소록 문제인데 도와주세요 (2) | 도1도캣 | 2025-05-04 |
2693676 | 열혈강의 c언어 질문입니다 | 하양이 | 2025-05-04 |
2693647 | 12.620000 을요 12.620 으로 어떻게 표현해요? (2) | 파도 | 2025-05-04 |
2693619 | 타이틀 코드.. | 단순드립 | 2025-05-03 |
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |