C의 구조 내부 구조 문제

글로

이 코드가 있습니다.

struct node{
   double *coordinates; 
};

struct vptree{
   struct node vp;
   double md;
   int idx;
   struct vptree *inner;
   struct vptree *outer;
};

void buildvp(double *X, int n, int d){

   for(int i=0;i<n;i++){
      for(int j=0;j<d;j++){
        printf("%lf   ",X[i*d+j]);
      }
      printf("\n");
   }
   struct vptree *tree;
   printf("That 's ok! 1\n");
   tree->vp.coordinates=(double *)malloc(d*sizeof(double));
   printf("That 's ok! 2\n");

   for(int i=0;i<d;i++){
      tree->vp.coordinates[i]=X[(n-1)*d+i];
      printf("for i=%d the X= %lf",i,tree->vp.coordinates[i]);  
   }
}


int main(){
   double X[8][2]={{2,5},{1,1},{0,0},{1,3},{2,5},{1,1},{-2,8},{6,-1}};
   buildvp(&X,8,2);
   return 0;
}

행렬 X가 7x2 또는 5x2이면 프로그램은 괜찮습니다. 행렬 X가 8x2 또는 6x2이면 프로그램은 "That 's ok 2"라는 메시지를 출력하지 않습니다. 구조 (특히 명령 tree->vp.coordinates=(double *)malloc(d*sizeof(double))) 에 문제가 있다는 것을 알고 있지만 수정할 수 없습니다. 아이디어가 있습니까?

키란 비라 다르
   struct vptree *tree;
   printf("That 's ok! 1\n");
   tree->vp.coordinates=(double *)malloc(d*sizeof(double));

tree 역 참조 할 때 동작이 정의되지 않은 이유 인 유효한 메모리를 가리 키지 않습니다.

먼저 메모리를 할당 free하고 나중에 할당해야 할 수도 있습니다 .

   struct vptree *tree = malloc(sizeof *tree);
     …
   free(tree);

또는 일반 변수로 선언하십시오.

   struct vptree tree;
   // access it using (.) operator
   tree.vp.coordinates=(double *)malloc(d*sizeof(double));

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++의 공용체 내부 구조 액세스 문제

분류에서Dev

C ++ 구조 문제

분류에서Dev

C에서 조건문 내부의 구조체 평가

분류에서Dev

C의 구조체 문제

분류에서Dev

구조체의 문제 (C ++)

분류에서Dev

내부 조인 SQL 구문

분류에서Dev

구조체 내부의 Malloc

분류에서Dev

구조의 구문 [c]

분류에서Dev

C # 식 내부 구조

분류에서Dev

클래스 내부 구조체 내부의 문자열

분류에서Dev

구조 문제의 정의

분류에서Dev

Firebase 구조 내부의 개체 참조?

분류에서Dev

Objective-C 구조 문제

분류에서Dev

C 구조 패딩 문제

분류에서Dev

C 구조체 구문 문제

분류에서Dev

C의 구조체와 배열 문제

분류에서Dev

Array.prototype.map () 내부의 객체 속성 구조 해제

분류에서Dev

내부와 MySQL의 구문 오류 두 테이블에 조인

분류에서Dev

Angular 내의 대체 <li>에 대한 조건부 구문

분류에서Dev

Objective C 구조체 구문

분류에서Dev

UITableViewCell 내부의 제약 조건 문제

분류에서Dev

구조체 내부 구조체 배열 해제

분류에서Dev

C : 구조 내에서 구조 접근

분류에서Dev

MYSQL-내부 조인 구문 오류

분류에서Dev

구조 내부에 문자열 사용

분류에서Dev

SQL 구문 내부 조인에 문제가 있습니다.

분류에서Dev

구조체 배열 내부의 구조체 값 수정

분류에서Dev

연결된 목록 : 구조 내부의 구조?

분류에서Dev

다른 구조체 내부의 구조체 배열 초기화