2008. 3. 27. 20:05

포인터 초기화, 문자열

포인터 초기화

포인터의 초기값은 메모리 주소

자료형 *포인터변수 = 초기값 주소;

포인터 초기화 방법3
문자형 포인터에 문자열의 시작주소를 지정
예) char *ptr ="korea";

포인터 초기화 방법4
배열의 이름을 이용하여 배열시작주소를 지정
char A[100];

for 반복문을 사용하여 문자열을 거꾸로 출력

for(i=16; i>=0; i--)
{
     putchar(*(ptr1+i));
}

포인터를 사용한 문자열 복사

string2[i] = *(ptr1+i);


포인터를 사용하여 string1의 문자열 변경

*ptr1 = 'p';
*(ptr1 +1)='e';    (별표 전에 가로치는 것 잊지 말기!!! )


포인터 배열
포인터 자료형을 배열로 구성
여러 개의 포인터를 하나의 배열로 구성한 배열의 특징과 포인터의 특징을 모두 활용할 수 있다.

포인터 배열의 선언형식

자료형 * 포인터배열이름[배열크기]

포인터의 포인터
포인터를 가리키고 있는 포인터. 이중 포인터

포인터의 포인터 선언 형식
자료형 **포인터변수이름;
예) char **ptr;


char *ptrArray[2];
char **ptrptr;

ptrptr = ptrArray;
ptrArray[0]의 주소 - &ptrArry[0]
ptrArray[0]의 값 - ptrArray[0]
ptrArray[0]의 참조값 - *ptrArray[0]

ptrptr의 주소   - &ptrptr
ptrptr의 값  -    ptrptr
ptrptr의 1차 참조값 *ptrptr     (-> 출력시 %c)
ptrptr의 2차 참조값  **ptrptr
ptrptr의 2차 참조문자열  *ptrptr  (->출력시 %s)


ptrArray[0] = *ptrArray[0]
배열값              주소값

*ptrptr = *(*ptrptr)
*ptrptr+1 = *(*ptrptr+1)


Trackback 0 Comment 0