> 백엔드 개발 > C++ > 본문

C 언어의 * 및 & 연산자 분석 및 비교

WBOY
풀어 주다: 2024-04-03 14:24:01
원래의
508명이 탐색했습니다.

C 언어에서는 별표(*) 연산자를 사용하여 포인터 변수를 역참조하고 가리키는 변수의 값을 얻습니다. 주소 연산자(&)는 변수 주소를 얻는 데 사용됩니다. 구체적인 비교는 다음과 같습니다. 역참조 포인터: *주소 가져오기: & 포인터 곱셈: *비트 연산: &

C 언어의 * 및 & 연산자 분석 및 비교

C 언어의 * 및 & 연산자 분석 및 비교

C 언어에서는 별표(* ) 연산자와 주소 연산자(&) 연산자는 포인터 연산과 메모리 관리에 자주 사용되는 두 가지 중요한 연산자입니다. 이 기사에서는 이들의 용도와 차이점을 심층적으로 분석하고 설명할 실제 사례를 제공합니다.

별(*) 연산자

  • 별 연산자는 포인터 변수를 역참조하고 포인터 변수가 가리키는 변수의 값을 가져오는 데 사용됩니다.
  • 구문: ​​*포인터 변수
  • 예:

    • int *ptr = &i;
    • printf("%d", *ptr) // i

주소 연산자의 값을 인쇄합니다. (&) 연산자

  • 주소 연산자는 변수의 주소를 가져오고 변수에 대한 포인터를 반환하는 데 사용됩니다.
  • 구문: ​​& 변수 이름
  • 예:

    • int i = 10;
    • int *ptr = &i;
    • printf("%p", ptr) // i
    의 주소를 인쇄합니다.

비교 연산자

다음은 다양한 시나리오의 * 및 & 연산자를 비교한 것입니다.

역참조 포인터Get The 변수를 가리키는 값변수의 주소 가져오기다음은 * 및 & 연산자가 포인터 연산에 사용되는 방법을 보여주는 실제 사례입니다.
#include <stdio.h>

int main() {
    int i = 10;
    int *ptr = &i; // ptr指向i

    // 通过解引用指针获取i的值
    printf("i的值:%d\n", *ptr);

    // 通过取地址获取i的地址
    printf("i的地址:%p\n", &i);

    // 通过指针乘法计算ptr指向的内存空间大小
    int size = sizeof(*ptr);
    printf("ptr指向内存空间大小:%d字节\n", size);

    // 使用指针进行递增
    (*ptr)++; 

    // 打印递增后的i值
    printf("递增后的i:%d\n", i);

    return 0;
}
로그인 후 복사
출력:
& 주소 가져오기
* 포인터 곱셈 포인터가 가리키는 메모리 공간의 크기 계산
& 비트 연산(논리 AND) 두 정수에 대해 논리 AND 연산 수행
실습 사례
i的值:10
i的地址:0x7ffe5247ef4c
ptr指向内存空间大小:4字节
递增后的i:11
로그인 후 복사

위 내용은 C 언어의 * 및 & 연산자 분석 및 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿