메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C++ 프로그래밍

뇌를 자극하는 C++ 프로그래밍 질의응답 게시판입니다.

c++포인터 질문이요.

2011-05-10

|

by 심상원

2059

#include
using namespace std;

void exchange(char**, char**);

int main()
{
        char *a = "ab";
        char *b = "ba";

        cout << a << b << "\n";

        exchange(&a, &b);

        cout << a << b << "\n";

        return 0;
}

void exchange(char **a, char **b)
{
        char *temp = *a;

        *(*b+1) = *(temp+1);
}

이런식으로 만약에 문자열을 처음에 포인터로 선언하고 그 포인터를 exchange함수에 보내서
b에 "a"값을 a에 "b"값으로 바꾸는게 가능한가여?

컴파일시 오류는 생기지 않는데 함수 구동쪽에서 오류가 나는거 같아서요..

이렇게 바꾸어 주려면 포인터 배열로 선언하지말고 애초에 그냥 문자열배열로 선언해서

함수이름 넘기고 포인터로 받아야지만 변경이 한가여?
댓글 입력
자료실