배열의 내용을 포인터로 접근
핑크빛애교
질문 제목:
배열에 입력받아 포인터로 접근해 화면에 내용을 출력
입력한 내용이 화면에 출력되어야 하나 null null nul 이렇게 뜹니다.
잘못된 부분이 무엇인가요?
질문 내용 :
#includestdio.h
void main()
{
int i;
char name[5]={0};
char *p_name;
p_name=name;//name의 주소값을 넘겨 p_name (포인터)로 name(배열)에 접근하기 위함
puts(5개의 이름을 입력하세요.);
for(i=0;i5;i++)
{
scanf(%s,name[i]); //입력은 배열에 받습니다. {aaa,bbb,ccc,..}; 이런식으로 입력되게
getchar();
}
for(i=0;i5;i++)
printf(%s\n,*(p_name+i));//배열에 입력된 내용을 포인터로 접근해 aaa, bbb, ccc 이런식으로 화면에 출력합니다.
}
-
안찬
올려놓고 생각해 보니 2차원 배열에 받아야 겠더군요 ㅋ. 그리고 free(name[i]); 이렇게 각 포인터배열마다 메모리 해제하는 건 처음 보네요. 좋은 답변 감사합니다.
-
사랑
void main()
{
int i;
char *name[5]={0,};
//char *p_name[5];
for(i=0;i5;i++)
\t name[i] = (char*)malloc(sizeof(char*));
puts(\5개의 이름을 입력하세요.\);
for(i=0;i5;i++)
{
scanf(\%s\ -
뚜야
5개의 문자열을 입력받는것이라면 char형 2차원 배열이 되어야 하지요. 1차원 배열은 문자열 하나를 저장하기에 적당합니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
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 |