노드 주소를 사용하는 연결 목록의 크기

마리아

목록 :

struct list{
   int Id;
   short Value;
   struct list *next;
};

그래서 노드의 주소를 사용하여 (sizeof를 사용하지 않고) 목록의 크기를 찾고 싶습니다. 각 노드는 서로 24 바이트 씩 다릅니다. 이것은 제가이 목적으로 작성한 코드입니다.

struct list *tmp;
int sum=0;
for(tmp=ptr; tmp!=NULL; tmp=tmp->next){
    sum = sum + tmp->next - tmp;
}
printf("\nThe size of the list in bytes is:%d", sum);

tmp 는 목록에 대한 포인터입니다. ptr 은 헤드를 가리키는 목록에 대한 포인터입니다. 나는 실행 내 code.When 나중에 ptr에 필요하기 때문에 내가 tmp를 사용하는 난이 얻을 위 : 바이트 목록의 크기가 : 143,132 ... . 매번 숫자는 다르지만 내가 원하는 것은 아닙니다.

에릭 J.

그래서 노드의 주소를 사용하여 (sizeof를 사용하지 않고) 목록의 크기를 찾고 싶습니다.

당신은 이것을 할 수 없습니다. 목록의 인접 노드가 메모리에 공백없이 선형 적으로 배치된다는 보장은 없습니다.

그는 매번 다른 번호

메모리는 잠재적으로 각 실행마다 다른 주소에 할당되기 때문입니다.

각 노드는 서로 다릅니다 24 바이트

메모리가 각 노드에 인접하여 할당 되더라도 패킹 문제가있을 수 있습니다. 일반적인 실제 컴퓨터에서 발생할 가능성이없는 24 바이트 크기 (이 숫자는 4와 8로 나눌 수 있기 때문). 그러나 크기가 23 인 경우 할당 된 공간은 많은 아키텍처에서 반올림됩니다.

별도의 카운터 또는 인덱스를 유지하지 않는 한 연결 목록의 크기를 알 수있는 유일한 방법은 시작부터 끝까지 순회하는 것입니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

연결 목록의 헤드 노드 주소를 파일에 저장하고 나중에 검색하는 방법

분류에서Dev

연결된 목록의 순서를 반대로하는 기능 ... 마지막 노드는 목록의 나머지 부분에 연결되지 않습니다.

분류에서Dev

새 노드를 C의 연결된 목록에 연결하는 문제

분류에서Dev

연결된 목록에서 노드 주소가 주어진 노드의 주소를 얻습니다.

분류에서Dev

함수를 사용하여 연결 목록에 노드 추가

분류에서Dev

연결 목록에 노드를 추가하는 재귀 함수 만들기

분류에서Dev

처음에 빈 노드를 추가하는 연결 목록 추가 기능

분류에서Dev

하나의 링크를 제거하면 연결된 목록에서 노드가 어떻게 삭제됩니까?

분류에서Dev

빈 노드를 초기화하지 않고 연결 목록 만들기

분류에서Dev

이중 연결 목록에서 노드의 크기 계산

분류에서Dev

c : 두 개의 간단한 목록 사이의 연결 (공통 노드) 찾기

분류에서Dev

마지막 노드를 삭제하는 단일 연결 목록

분류에서Dev

conncomp를 사용하여 연결된 그래프 구성 요소의 노드 인덱스 찾기

분류에서Dev

jQuery 여러 DOM 노드 참조를 하나의 목록으로 연결

분류에서Dev

여러 노드를 하나의 노드에 연결하는 Cypher

분류에서Dev

인덱스 C ++를 사용하여 이중 연결 목록 삭제 노드

분류에서Dev

C를 사용하여 이중 연결 목록의 N 번째 위치에 노드 삽입

분류에서Dev

노드 http-proxy를 사용하여 websocket 연결 프록시

분류에서Dev

Python의 단일 연결 목록에서 다른 노드 앞에 노드를 삽입 하시겠습니까?

분류에서Dev

연결 목록 노드 제거 기능

분류에서Dev

연결 목록 노드 삭제 기능

분류에서Dev

제거 방법을 사용하여 연결 목록에서 첫 번째 노드를 제거하는 방법

분류에서Dev

연결 목록에 노드를 추가하는 기능이 작동하지 않음 | 씨

분류에서Dev

루프 자바를 사용하여 연결 목록의 연결 목록 배열 만들기

분류에서Dev

파이썬을 사용하는 네트워크 그래프에서 특정 노드가 주어지면 연결된 모든 노드 목록을 반환하는 재귀 함수

분류에서Dev

jupyter 노트북의 노드를 dask와 연결하는 방법

분류에서Dev

단일 연결 목록 C에서 루트 노드를 반환하는 연결 목록

분류에서Dev

이중 연결 목록에서 주어진 노드 뒤의 노드 제거

분류에서Dev

C- 노드 삭제 기능의 이중 연결 목록

Related 관련 기사

  1. 1

    연결 목록의 헤드 노드 주소를 파일에 저장하고 나중에 검색하는 방법

  2. 2

    연결된 목록의 순서를 반대로하는 기능 ... 마지막 노드는 목록의 나머지 부분에 연결되지 않습니다.

  3. 3

    새 노드를 C의 연결된 목록에 연결하는 문제

  4. 4

    연결된 목록에서 노드 주소가 주어진 노드의 주소를 얻습니다.

  5. 5

    함수를 사용하여 연결 목록에 노드 추가

  6. 6

    연결 목록에 노드를 추가하는 재귀 함수 만들기

  7. 7

    처음에 빈 노드를 추가하는 연결 목록 추가 기능

  8. 8

    하나의 링크를 제거하면 연결된 목록에서 노드가 어떻게 삭제됩니까?

  9. 9

    빈 노드를 초기화하지 않고 연결 목록 만들기

  10. 10

    이중 연결 목록에서 노드의 크기 계산

  11. 11

    c : 두 개의 간단한 목록 사이의 연결 (공통 노드) 찾기

  12. 12

    마지막 노드를 삭제하는 단일 연결 목록

  13. 13

    conncomp를 사용하여 연결된 그래프 구성 요소의 노드 인덱스 찾기

  14. 14

    jQuery 여러 DOM 노드 참조를 하나의 목록으로 연결

  15. 15

    여러 노드를 하나의 노드에 연결하는 Cypher

  16. 16

    인덱스 C ++를 사용하여 이중 연결 목록 삭제 노드

  17. 17

    C를 사용하여 이중 연결 목록의 N 번째 위치에 노드 삽입

  18. 18

    노드 http-proxy를 사용하여 websocket 연결 프록시

  19. 19

    Python의 단일 연결 목록에서 다른 노드 앞에 노드를 삽입 하시겠습니까?

  20. 20

    연결 목록 노드 제거 기능

  21. 21

    연결 목록 노드 삭제 기능

  22. 22

    제거 방법을 사용하여 연결 목록에서 첫 번째 노드를 제거하는 방법

  23. 23

    연결 목록에 노드를 추가하는 기능이 작동하지 않음 | 씨

  24. 24

    루프 자바를 사용하여 연결 목록의 연결 목록 배열 만들기

  25. 25

    파이썬을 사용하는 네트워크 그래프에서 특정 노드가 주어지면 연결된 모든 노드 목록을 반환하는 재귀 함수

  26. 26

    jupyter 노트북의 노드를 dask와 연결하는 방법

  27. 27

    단일 연결 목록 C에서 루트 노드를 반환하는 연결 목록

  28. 28

    이중 연결 목록에서 주어진 노드 뒤의 노드 제거

  29. 29

    C- 노드 삭제 기능의 이중 연결 목록

뜨겁다태그

보관