2009-12-25 3 views
-1

숫자 및 문자 포인터를 사용하여 유사하게 유형이 지정된 포인터를 더하고 빼는 몇 가지 예제를 참조하십시오. C. 사용포인터 유형을 사용한 산술/

감사.

당신은 포인터 연산에 대해 알고 this을 확인할 수 있습니다
+0

주소 나 그 주소가 가리키는 값을 추가 하시겠습니까? – SLaks

+0

int 포인터의 값을 추가하는 것은 의미가 있지만 두 개의 char 포인터를 함께 추가하면 값이나 주소에 의미가 없습니다. 기대하는 결과는 무엇입니까? – danben

+0

및 주소는 뺍니다. – SLaks

답변

1

다음은 C 문자열에서 단일 문자를 추출하는 실제 예입니다 :

char charAt(char *str, size_t idx) { 
    if (idx > strlen (str)) 
     return '\0'; 
    return *(str+idx); 
} 

또는 다른의와 배열에 정수를 교환합니다 한 즉시 (NO 범위 검사)와 그 전 : 두 경우 모두

void swapInts(int *base, size_t idx) { 
    tmp = *(base+idx); 
    *(base+idx) = *(base+idx-1); 
    *(base+idx-1) = tmp; 
} 

, *(pointer+offset) 01와 동일대신 배열의 오프셋 (offset)의 포인터 연산을 사용하여 :

*(str+idx)  ->  str[idx] 
*(base+idx)  ->  base[idx] 
*(base+idx-1]  ->  base[idx-1] 

경고 : 그 다음 자신의 쓰기에 대한는 생각을 가지고, 숙제에 그대로 다음을 사용하지 마십시오. 축 어적으로 복사하면 교육자가 의심 할 여지없이이 사이트를 볼 수 있기 때문에 거의 실패 할 것입니다.