int 및 char (배열)에 대한 포인터

Ferus

예를 들어 char에 대한 포인터가 int에 대한 포인터와 어떻게 다른지 이해하지 못합니다.

int a = 10;
int *b = &a;
printf("%d\n", *b); // print 10
char* d = "Hello";
printf("%d\n", (int) *d); // print 72, ASCII of H

여기 "안녕하세요"가 뭐죠? 모든 문자가 int에 대한 주소이므로 "Hello"가 주소 배열입니까?

user2736738

그들이 모두 주소를 가지고 있다고 생각한다면 ...

차이점은 무엇입니까?

차이점은 10 바이트의 메모리가 있다고 가정합니다.

---+---+---+---+---+---+---+---+---+---+
|  |   |   |   |   |   |   |   |   |   |  
---+---+---+---+---+---+---+---+---+---+
1    2   3   4   5   6   7   8   9    10

이제 char 크기가 1 bye이고 int가 4 바이트라고 가정합니다.

이제 누군가가 주소 1에서 시작하는 정수를 주라고하면 어떻게할까요?

int의 크기가 4 바이트라는 것을 알고 있으므로 가져 와서 보여줍니다.

char와 유사하게 1 개의 위치 값을 얻고 표시합니다.

이제 포인터도 마찬가지로 요청 (역 참조) 할 때 고려해야 할 사항을 알아야합니다.

그것이 어디에 int*있고 char*다릅니다. 그렇지 않으면 둘 다 주소가 있습니다. 그리고 a char*사용 하면 정수의 모든 바이트를 얻을 수 있지만 이는 사용자의 오버 헤드입니다.

공식적으로 ....

타입에 대한 포인터는 기본적으로 포인터가 현재 위치에서 메모리에서 얼마나 이동해야하는지 그리고 디 레퍼런스 될 때 포인팅 주소에서 응시하는 바이트의 양을 알려줍니다.

Doubt-1 왜 & "Hello"가 필요하지 않습니까?

char *d= "Hello" 메모리의 읽기 전용 부분에 "Hello"를 배치하고이를 포인터로 지정하면이 메모리에 대한 쓰기 작업이 불법이됩니다.

또한 C에서 "hello"에는 char [] 유형이 있습니다. 그리고 배열은 자동으로 첫 번째 요소의 주소로 변환 될 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

malloc 및 char 배열 포인터 사용에 대한 c의 세분화 오류

분류에서Dev

Char 문자열 및 포인터에 대한 C ++ 질문

분류에서Dev

SmartPointers 및 배열에 대한 포인터

분류에서Dev

C ++ int 포인터 배열에 대한 포인터 배열 메모리 누수

분류에서Dev

c-const int에 대한 포인터를 int에 대한 포인터로 변환 (및 수정)

분류에서Dev

함수의 char 배열에 대한 Realloc 포인터

분류에서Dev

C의 sprintf (char 요소 배열에 대한 포인터)

분류에서Dev

char에 대한 포인터 배열 관련

분류에서Dev

char 포인터 배열에 대한 포인터를 반복합니다.

분류에서Dev

char 배열에 대한 포인터로서의 2D 배열

분류에서Dev

char * 배열에 대한 포인터 배열의 오른쪽 선언

분류에서Dev

string, int 및 int에 대해 C에서 "String"(char 배열) 구문 분석

분류에서Dev

int 배열에 대한 포인터 관리 문제

분류에서Dev

classelement에 대한 포인터 및 포인터를 배열에 저장

분류에서Dev

char에 대한 C ++ 포인터

분류에서Dev

C ++ 입문서-배열에 대한 포인터 및 참조

분류에서Dev

기본 동적 메모리 및 배열에 대한 포인터

분류에서Dev

2 차원 배열 및 2 차원 배열에 대한 포인터

분류에서Dev

argv 포인터를 통해 char 포인터에 대한 반복

분류에서Dev

argv 포인터를 통해 char 포인터에 대한 반복

분류에서Dev

char 포인터 C ++에 대한 포인터 역 참조

분류에서Dev

char 포인터 참조에 대한 typecast 구조체 포인터

분류에서Dev

char 배열에 대한 포인터, 처리되지 않은 예외

분류에서Dev

int 포인터 대 char 포인터 역 참조

분류에서Dev

C ++에서 포인터 배열을 만드는 데 char * 및 int * 데이터 유형의 차이점은 무엇입니까?

분류에서Dev

사용자가 입력 한 문자열을 char 배열 대신 char 포인터에 저장하는 방법

분류에서Dev

C ++의 int 및 char에 대한 오버로드 연산자

분류에서Dev

포인터에 대한 C ++ 포인터 및 포인터에 대한 포인터를받는 함수 호출

분류에서Dev

포인터에 대한 C ++ 포인터 및 포인터에 대한 포인터를받는 함수 호출

Related 관련 기사

  1. 1

    malloc 및 char 배열 포인터 사용에 대한 c의 세분화 오류

  2. 2

    Char 문자열 및 포인터에 대한 C ++ 질문

  3. 3

    SmartPointers 및 배열에 대한 포인터

  4. 4

    C ++ int 포인터 배열에 대한 포인터 배열 메모리 누수

  5. 5

    c-const int에 대한 포인터를 int에 대한 포인터로 변환 (및 수정)

  6. 6

    함수의 char 배열에 대한 Realloc 포인터

  7. 7

    C의 sprintf (char 요소 배열에 대한 포인터)

  8. 8

    char에 대한 포인터 배열 관련

  9. 9

    char 포인터 배열에 대한 포인터를 반복합니다.

  10. 10

    char 배열에 대한 포인터로서의 2D 배열

  11. 11

    char * 배열에 대한 포인터 배열의 오른쪽 선언

  12. 12

    string, int 및 int에 대해 C에서 "String"(char 배열) 구문 분석

  13. 13

    int 배열에 대한 포인터 관리 문제

  14. 14

    classelement에 대한 포인터 및 포인터를 배열에 저장

  15. 15

    char에 대한 C ++ 포인터

  16. 16

    C ++ 입문서-배열에 대한 포인터 및 참조

  17. 17

    기본 동적 메모리 및 배열에 대한 포인터

  18. 18

    2 차원 배열 및 2 차원 배열에 대한 포인터

  19. 19

    argv 포인터를 통해 char 포인터에 대한 반복

  20. 20

    argv 포인터를 통해 char 포인터에 대한 반복

  21. 21

    char 포인터 C ++에 대한 포인터 역 참조

  22. 22

    char 포인터 참조에 대한 typecast 구조체 포인터

  23. 23

    char 배열에 대한 포인터, 처리되지 않은 예외

  24. 24

    int 포인터 대 char 포인터 역 참조

  25. 25

    C ++에서 포인터 배열을 만드는 데 char * 및 int * 데이터 유형의 차이점은 무엇입니까?

  26. 26

    사용자가 입력 한 문자열을 char 배열 대신 char 포인터에 저장하는 방법

  27. 27

    C ++의 int 및 char에 대한 오버로드 연산자

  28. 28

    포인터에 대한 C ++ 포인터 및 포인터에 대한 포인터를받는 함수 호출

  29. 29

    포인터에 대한 C ++ 포인터 및 포인터에 대한 포인터를받는 함수 호출

뜨겁다태그

보관