2
좋아요. 하루 종일 (hw이 아닌)이 기능을 수행하고 있는데, 특히 유용한 코드는 아니지만, 깔끔한 개념입니다 맡은 일. 포인터 체인에 대한 포인터에 대한 포인터가 더 이상 없으므로 끝에 값을 설정하는 가장 좋은 방법을 찾으려고합니다. 예를 들어, 내가 선언포인터 체인에 대한 포인터의 끝에서 값을 초기화합니다.
int *****ptr;
포인터 세그먼트 각 포인터를 설정하는 가장 좋은 방법은 무엇입니까, 아래 실제 int 값에 모든 방법을?
그것이 내가 사용하는 방식을 좋아하지 않기 때문에이 코드는 컴파일되지 않습니다및 역 참조 무효 포인터 :
#include <stdio.h>
#include <stdlib.h>
#define NUMPOINTERS 5
int main(int argc, char **argv)
{
int *****number;
*****number = malloc(sizeof(void*));
void *ptr = *number;
int i;
for(i = 1; i < NUMPOINTERS; i++)
{
if(i == NUMPOINTERS - 1)
{
ptr = malloc(sizeof(int));
int *iPtr = (int*)ptr;
*iPtr = 900;
break;
}
*ptr = malloc(sizeof(void*));
ptr = **ptr;
}
printf("%d", *****number);
return 0;
}
일부 기사가 거기에 있다는 것을 어떻게 포인터와 포인터의 말도 안되는 숫자에 대해 이야기 그들과 함께 일해?
당신은 영웅입니다. 감사합니다! 내가 다른 것을하지 않고 스크린을 응시하는 것 중 하나였습니다. 나는 당신이 프로그램의 9 번째 줄과 같은 과제를 할 수 있다는 것을 몰랐다. –
그것은 C99 기능입니다. –
빠른 질문입니다. 다음과 같은 라인을 넣을 때 : int * pointer = someOtherPtr; 포인터는 포인터에 대한 포인터가 아니기 때문에 someOtherPtr이 가리키고있는 주소를 가져오고 해당 포인터를 가리 키지 않습니다. 그러나 void 포인터는 원하는 것을 가리킬 수 있습니다. 유형이 없습니다. 따라서 '='연산자를 사용하여 void 포인터에 포인터를 할당하면 void 포인터가 포인터 또는 값을 가리킬 수 있기 때문에 컴파일러가 포인터를 가리킬 지 또는 포인터가 가리키는 포인터를 가리키는 지 결정합니다 ? 예 : ptr = newptr; –