구조체 멤버 변수가 이중포인터 일때 입력 및 출력법
하늘빛눈망울
구조체 맴버 변수가 이중포인터 일때 입력 및출력법구조체 멤버 변수가 이중포인터로 선언되어져있을 때 이 멤버변수에 저장된(주소가 가르키고 있는 값) 값을 출력할때 어떻게 하는게 가장 옳은걸까요?질문 내용 :
가령 다음과 같은 구조체가 있다고 할때
typedef struct servent
{
char *name;
char **aliases;
}servent;
servent ss;
// 동적할당도 하고.. 저 맴버 변수에 string형태로 값들이 다 저장되어 있다고 가정하고
이 맴버 변수를 출력하려면 어떻게 해야 하나요?
1번 질문
printf(%s\n,ss-aliases);
이런식으로 출력을 하면 되나요?
========================================================
그리고 맴버 변수 aliases에는 값을 어떻게 저장하나요?
제가 배열변수를 하나 선언한다음에 그것을 ss-aliases에 저장시켰는데요
그러니깐
char aaa[20] = aaaa;
ss-aliases = aaa;
이렇게 했더니 ** 랑 * 는 다르다 라는 warning이 하나 뜨긴했는데.
그냥 ss-aliases로 출력하니깐 aaa가 정상적으로 나오더라구요.
근데 이건 첫주소를 가르키기 때문에 그냥 값이 별 문제 없이 저장된것 같은데
2번 질문
정확하게 구조체 맴버 변수가 이중포인터일때 값은 어떻게 집어 넣어야 하나요?
-
미나
답변 감사합니다.^^
-
비치
음 질문의 의도를 정확히 이해는 못했지만 ss-aliases == (*ss).aliases 입니다 메인함수에
구조체를 포인터로 선언하셧나요? 구조체안에 이중포인터라고 해서 일반 이중포인터와
다르지 않습니다. 2중포인터는 싱글포인터를 가리키는 포인터이므로
aliases라는 포인터로 name이라는 포인터를 가리키고 싶으신거같은데
char**aliases / char* name 이 있다면 aliases=&name 으로 선언하시면됩니다. -
남천
#include stdio.h
#includestdlib.h
typedef struct Servernt{
\tchar* name;
\tchar** pp;
}Ser;
int main(void)
{
\tSer ss;
\tss.name = (char*)malloc(sizeof(char)*10);\t// 길이가 10인 배열 생성
\tss.pp = &ss.name;
\tss.name=\hellow\;
\tprintf(\%s\\n\
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2695122 | 구조체에 대해 물어보고 싶은게 있습니다 ^^^.. (7) | 수련 | 2025-05-17 |
2695091 | txt 파일 입출력 후 2차 배열에 저장하기입니다. (3) | 헛장사 | 2025-05-17 |
2695063 | 수도요금 프로그램좀 짜주세요. | 시내 | 2025-05-17 |
2695033 | 답변좀요ㅠㅠ (1) | 비사벌 | 2025-05-16 |
2695010 | C++의 STL은 왜 굳이 템플릿화 시켜서 라이브러리를 만드나요? (초보수준의 질문..) (2) | 엘보어 | 2025-05-16 |
2694958 | 로직이 변한다는 것에 대해서 궁금합니다. | 튼동 | 2025-05-16 |
2694929 | 열혈강의 25-2 두번째 문제 질문 | 지우개 | 2025-05-15 |
2694900 | dequeue 에서 리턴값 프린트 방법알려주세요 오늘 12시까지 대화방에 있습니다 도와주세요 | 미투리 | 2025-05-15 |
2694854 | 절대값을 구할때 (2) | 그녀는귀여웠다 | 2025-05-15 |
2694827 | 이제 어떻게 공부해야할지 모르겠네요 | 새얀 | 2025-05-14 |
2694778 | 순열 계산요. | 맛조이 | 2025-05-14 |
2694754 | ShowWindow 함수를 이용하려 하는데 질문있습니다. (2) | 파도 | 2025-05-14 |
2694731 | 리눅스 커널의 시작점 질문 | 미르 | 2025-05-13 |
2694702 | 이거 뭐가문제인가요 코드수정좀 (3) | 맑은 | 2025-05-13 |
2694675 | C언어 후위표기를 중위표기로 | 앨런 | 2025-05-13 |
2694646 | 안녕하세요 파일 합치기 함수! (1) | 연블루 | 2025-05-13 |
2694618 | 잘몰라서 설명부탁드립니다. scanf 관련 (3) | 파라 | 2025-05-12 |
2694590 | 이 코드가 뭐하는 코드일까요? #2 | 빵순 | 2025-05-12 |
2694559 | 동적할당으로 배열(2차원열)을 만드는데 있어 그걸 함수화시키는데... (1) | 늘솔길 | 2025-05-12 |
2694532 | 네트워크에 관하여... (4) | 황소자리 | 2025-05-12 |