이중 포인터 예제

 Senast ändrad 2 augusti, 2019 kl 19:14
aug 022019
 

C++에는 이중 포인터(*&)를 코딩하는 또 다른 방법이 있습니다. 참조 stackoverflow.com/a/5789842/5652483 이 함수를 호출할 때 포인터의 주소로 호출할 때 C에서 이중 간접을 사용해야 합니까? 누구든지 예를 들어 설명 할 수 있습니까? 이와 같이 발생하는 이유는 alloc1에서 포인터가 값으로 전달되기 때문입니다. 따라서 alloc1 내부의 malloc 호출 결과에 다시 할당되면 변경 사항은 다른 범위의 코드와 관련이 없습니다. 나는 오늘 아주 좋은 예를 보았다, 이 블로그 게시물에서, 내가 아래에 요약으로. 위의 다이어그램은 포인터에 대한 포인터의 메모리 표현을 보여 주며 포인터를 보여 주며 있습니다. 첫 번째 포인터 ptr1은 두 번째 포인터 ptr2의 주소를 저장하고 두 번째 포인터 ptr2는 변수의 주소를 저장합니다. 여기서는 포인터 변수 즉 int *의 주소를 저장하고 가리키는 두 개의 간접 연산자(*)를 사용했습니다. 이 (이중 포인터) 변수 p1의 주소를 저장하려는 경우 구문이 됩니다: 이중 포인터를 역참조할 때 최종 개체를 얻지 못하지만 예상되는 것은 최종 값을 검색하기 위해 한 번 더 역참조되어야 하는 포인터입니다. 아래 코드와 유사합니다. 아주 잘 설명, 그들을 학습 기억하고 그냥 망각으로 날 불었다. 누군가가이 C 프로그램에서 #explainlikeimfive 방법으로 이중 포인터를 설명 할 수있는 방법을 보고 재미있을 것입니다,이 C 프로그래밍 언어로 이중 포인터 (포인터 포인터)에 대해 배우려고합니다, 여기서 우리는 선언, 할당 및 이중을 사용하는 방법을 배우게됩니다. 포인터 (포인터포인터) C? IncludeHelp에 의해 제출, 4 월에 26, 2018 아샤의 응답에 추가, 예제 울부 짖는 소리에 단일 포인터를 사용하는 경우 (예. alloc1() 함수 내부에 할당 된 메모리에 대한 참조를 느슨하게합니다.

for 루프로 사용할 수 있습니다. 메시지는 이중 포인터가 없으면 포인터를 다시 구성하고 두 가지 다른 경우를 처리하기 위해 이전 변수를 유지 관리해야합니다. 포인터 간 lpp의 사용을 그래픽으로 설명하기 위해 노드 1(왼쪽) 또는 노드 2(오른쪽)를 삭제하기 직전에 상황을 설명하는 두 가지 그림이 더 있습니다. 다이어그램의 도움으로 이중 포인터의 개념을 이해합시다 : 내가 아는 것은 이중 간접이 포인터에 대한 포인터라는 것입니다. 포인터에 대한 포인터가 필요한 이유는 무엇입니까? 아래 다이어그램은 이중 포인터의 개념을 설명합니다: 여기 pr은 이중 포인터입니다. 이중 포인터 선언에는 두 개의 *가 있어야 합니다. 두 번째 관련 예로서 여기에 새 노드를 적절한 순서로 목록에 삽입하기 위한 코드 조각이 있습니다. 이 코드는 포인터-포인터-구조대 목록을 같은 이유로 사용하므로 목록의 시작 부분을 특별히 처리하는 것에 대해 걱정할 필요가 없습니다.

한 가지 이유는 함수 인수로 함수에 전달된 포인터값을 변경하여 포인터에 대한 포인터가 필요하기 때문입니다. 문자열은 이중 포인터의 사용의 좋은 예입니다. 문자열 자체는 포인터이므로 문자열을 가리킬 때마다 이중 포인터가 필요합니다. 이 경우에도 이중 포인터를 사용하여 포인터를 통합된 방식으로 다시 구성할 수 있습니다. 이제 함수가 이런 식으로 포인터를 반환하려고 한다고 가정해 보입니다. 그러면 해당 매개 변수가 포인터에 대한 포인터여야 합니다. 예를 들어, 여기에 길이 n의 문자열에 대 한 메모리를 할당 하려고 하는 작은 함수, 그리고 반환 0 (”false`)) 실패 하는 경우 1 (비영어, 또는 `true`)) 성공 하는 경우, 포인터를 통해 할당 된 메모리에 실제 포인터를 반환: 예를 들어 에서는 무언가의 메모리를 해제 할 때 나중에 포인터를 null로 설정했는지 확인할 수 있습니다. 그림과 멋진 설명! 포인터의 내 개념은 그렇게 명확한 적이있다. 나는이 분야에서 더 이상 혼란스러지지 않기를 바랍니다. 감사! 잠깐만 기다리세요. pr2(&pr2)의 주소는 포인터 pr1에 할당됩니다.

그러나 pr1의 자신의 주소는 & pr2가 아닙니다. 더 나아가기 전에 포인터가 무엇인지 다시 한 번 살펴보겠습니다.

Tyvärr, det är nu stängt för kommentarer här.

© 2011 Radiostyrd Bilsport Suffusion theme by Sayontan Sinha