포인터 문자열 예제

동일한 표기는 단일 문자 또는 null 종료 된 문자열의 첫 번째 문자를 가리키는 데 사용 됩니다: 액세스 하 고 다음 예제와 같이 루프의 도움을 받는 포인터의 배열에 의해 지적 된 값을 인쇄 합니다. 문자열 종료 연습을 위한 null 문자가 있는 스토리는 무엇입니까? 임시 변수는 문자열의 주소도 할당되므로 “Hello”문자열의 시작 메모리 위치에 값 5000과 포인트가 있습니다. 문자열의 요소에 액세스하고 인쇄하려면 루프를 사용하고 null 문자를 확인할 수 있습니다. 마지막 장에서는 할당 연산자 (=)를 사용하여 2-D 문자 배열에 새 문자열을 할당 할 수 없다는 것을 배웠습니다. 마지막 장에서는 문자열 배열 또는 2-D 문자 배열을 사용하는 방법을 배웠습니다. 두 개 이상의 문자열을 저장해야 할 때마다 문자열 배열이 길어질 때마다 나타날 수 있습니다. 다음 예제를 살펴보겠습니다. 예제 1 (문자열 수정 시도) 아래 프로그램은 충돌 할 수 있습니다 (분할 오류 오류를 제공) 라인 *(str+1) = `n`읽기 전용 메모리를 작성하려고하기 때문에. 2차원 배열을 만들고 여러 문자열을 저장할 수 있습니다. 참고! 위의 코드에서는 포인터 변수 strPtr에 저장된 문자열 “Hello”의 시작 주소를 잃고 싶지 않기 때문에 다른 문자 포인터 t를 사용하여 문자열의 문자를 인쇄합니다.

문자 포인터를 사용하는 문자열은 문자 포인터 문자열을 사용하여 두 가지 방법으로 저장할 수 있습니다: C에서 문자열은 문자 포인터를 사용하거나 문자 배열로 참조할 수 있습니다. 위의 문자열은 다음과 같이 메모리에 나타낼 수 있습니다. 그리고 마지막으로 NULL을 찾을 수 없을 때까지 문자열 문자를 문자로 인쇄합니다. 문자는 포인터 *ptr로 인쇄됩니다. 예를 들어 지정된 코드에서 문자열 배열 도시에 4개의 도시 이름을 저장합니다. 예 2 (함수에서 문자열을 반환하려고) 아래 프로그램은 문자열이 공유 세그먼트에 저장되고 저장된 데이터가 getString() 반환 후에도 남아 있기 때문에 아래 프로그램은 완벽하게 잘 작동합니다. ptr =str을 사용하여 문자 포인터 PTR에 대한 str의 또는 ptr = & str[0]를 사용하여 수행 할 수도 있습니다. 그러나 문자열에 대한 포인터 배열로 동일한 작업을 수행 할 수 있습니다. 문자열에 대한 포인터 배열은 각 포인터가 문자열의 첫 번째 문자 또는 문자열의 기본 주소를 가리키는 문자 포인터의 배열입니다. 문자열에 대한 포인터 배열을 선언하고 초기화하는 방법을 살펴보겠습니다. 위의 줄에서 “GfG”는 공유 읽기 전용 위치에 저장되지만 포인터 str은 읽기 쓰기 메모리에 저장됩니다. str을 다른 지점으로 변경할 수 있지만 현재 str에서는 값을 변경할 수 없습니다.

따라서 이러한 종류의 문자열은 프로그램의 이후 단계에서 문자열을 수정하지 않으려는 경우에만 사용해야 합니다. 1) 공유 세그먼트에서 문자열만 읽습니다. 문자열 값이 포인터에 직접 할당되면 대부분의 컴파일러에서 함수 간에 공유되는 읽기 전용 블록(일반적으로 데이터 세그먼트)에 저장됩니다. 이 C 프로그램에서는 포인터를 사용하여 문자열을 읽고 인쇄하는 방법을 배우려고합니다. 여기서 스포츠는 문자열에 대한 포인터의 배열입니다.