개인 재정 C 프로그래밍에서 변수의 위치를 ​​확인하는 방법 - C 프로그래밍의 더미

C 프로그래밍에서 변수의 위치를 ​​확인하는 방법 - C 프로그래밍의 더미

비디오: 쉽게 배우는 열혈 C 프로그래밍 - 3화 - 변수와 연산자 2024

비디오: 쉽게 배우는 열혈 C 프로그래밍 - 3화 - 변수와 연산자 2024
Anonim

C 프로그래밍에서 변수의 유형 및 크기는 먼저 변수를 특정 유형으로 선언하고 sizeof 키워드를 사용하여 밝혀줍니다. 변수의 두 번째 설명 인 내용은 적절한 C 언어 함수를 사용하여 변수의 값을 읽으면 수집 할 수 있습니다.

변수의 세 번째 설명은 메모리에서의 위치입니다. & 연산자와 % p 자리 표시자를 사용하여이 정보를 수집합니다 (O Variable, Thisfore Art Thou?

O 변종, 그 전에는?

#include int main () {char c = 'c'; int i = 123; float f = 98.6; 이중 d = 6. 022E23; printf ("주소 'c'% pn", & c); printf (" '%'pn"의 주소, & i); printf ("주소 'f'% pn", & f); printf ("주소 'd'% pn", & d); return (0);}

& 연산자가 변수의 접두어를 붙이면 변수의 주소, 또는 메모리상의 위치를 ​​나타내는 값을 반환합니다. 이 값은 16 진수로 표시됩니다. 이 값을 보려면 % p 변환 문자가 사용됩니다 (예: O Variable, Thisfore Art Thou?

연습 1 : O 변수에서 소스 코드를 입력하십시오. 귀하의 편집기에. 빌드하고 실행하십시오.

실습 1에서 생성 된 프로그램에 의해 생성 된 결과는 각 컴퓨터뿐만 아니라 프로그램이 실행될 때마다 잠재적으로 고유합니다.

'c'의 주소 0x7fff5fbff8ff 'i'의 주소 0x7fff5fbff8f8 '0x7fff5fbff8f4'의 주소 0x7fff5fbff8f8 주소 0x7fff5fbff8e8

변수 c 는 0x7fff5fbff8ff 위치의 메모리에 저장됩니다., 734, 799, 804, 671. 두 값은 물론 사소한 것입니다. 컴퓨터는 메모리 위치를 추적합니다.

이 그림은 이러한 주소가 메모리에서 어떻게 매핑되는지 보여줍니다.

개별 배열 요소에는 줄 10에있는 배열의 메모리 위치에 표시된 것과 같이 메모리 위치도 있습니다. & 연산자는 특정 요소 변수에 접두사를 붙여 주소를 기 위로합니다. printf () 함수의 % p 변환 문자는 주소를 표시합니다.

배열의 메모리 위치

#include int main () {char hello [] = "Hello!"; int i = 0; while (hello [i]) {printf ("% c at % pn", hello [i], hello [i]); 연습 2

: 배열의 메모리 위치에 표시된 소스 코드를 사용하여 새 프로젝트를 만듭니다. 빌드하고 실행하십시오. 다시 한번, 메모리 위치 출력은 각 컴퓨터에서 고유합니다. 0x7fff5fbff8f0에서의 H, 0x7fff5fbff8f1에서의 H, 0x7fff5fbff8f3에서의 0x7fff5fbff8f2, 0x7fff5fbff8f4에서의

H!at 0x7fff5fbff8f5

실습 1의 예제와 달리 실습 2에서 생성 된 주소는 한 바이트 씩 연속적으로 메모리에 있습니다.

연습 3

: 각 요소의 메모리 주소와 함께 int 배열에 5 개의 값을 표시하는 프로그램을 코딩합니다. for 루프는 코드 작성이 더 쉬울 지 모르지만 배열의 메모리 위치를 사용하여 영감을 얻을 수 있습니다. 그건 그렇고, & 메모리 위치 연산자는 당신에게 친숙해야합니다. 변수 자체가 아니라 변수의 주소가 필요한 scanf () 함수에서 사용합니다. 왜냐하면 scanf ()는 메모리 위치에 직접 값을 배치하기 때문입니다. 방법? 포인터를 사용하여 물론!

  • & 연산자는 비트 AND 연산자입니다. 그러나 컴파일러는 변수가 접두사가 될 때와 &가 이진 수학 방정식의 일부일 때를 알기에 충분히 똑똑합니다.

C 프로그래밍에서 변수의 위치를 ​​확인하는 방법 - C 프로그래밍의 더미

편집자의 선택

행사에서 연설을 신청하는 방법 - 인형

행사에서 연설을 신청하는 방법 - 인형

강연을 제안 할 수 있어야합니다 다른 잠재적 인 연사보다 이벤트 참석자에게 더 많은 가치를 제공 할 수 있음을 입증하십시오. 연설 인재 풀은 가능한 연설 기회 수보다 빠르게 증가하고 있습니다. 당신은 이벤트 기획자에게 당신이 원하는 바를 물어볼 수있었습니다. ...

새로운 온라인 커뮤니티 회원 유치 방법 - 온라인 커뮤니티의 인형

새로운 온라인 커뮤니티 회원 유치 방법 - 온라인 커뮤니티의 인형

회원은 일시적입니다. 많은 사람들은 그들이 특정한 목표를 성취 할 때까지 주변에 머물러 있습니다. 다른 사람들은 관심을 잃고 새로운 행 아웃을 찾습니다. 따라서 정기적으로 신입 회원을 영입하지 않으면 커뮤니티가 사라집니다. 사람들이 교류 할 수있는 장소를 마련하는 데 어려움을 겪고 있습니다.

엄마 블로거로서 언론의 관심을 끄는 방법 - 인형

엄마 블로거로서 언론의 관심을 끄는 방법 - 인형

수십만 (또는 수백만)의 사람들이 엄청난 성과를 거두고 있습니다. 예상대로, 쉽게 성취되지는 않습니다. 뉴욕 타임스에 언급되거나 투데이 쇼에 출연하기 위해서는 많은 시간과 노력과 신뢰가 필요합니다. 아마도 ...

편집자의 선택

Ning 사용자 기고에 대한 코멘트 방법 - 인형

Ning 사용자 기고에 대한 코멘트 방법 - 인형

Ning 계정에 로그인하면 다른 Ning 사용자의 블로그 게시물, 회신 한 이벤트, 사진 및 비디오에 대한 의견을 남깁니다. 회원님의 논평 벽에 남긴 댓글, 순수 텍스트, 다른 웹 사이트 링크 및 퍼간 동영상과 같은 요소가 귀하의 댓글에 포함될 수 있습니다 ...

닝 네트워크의 광고 제어 방법 - 덤프

닝 네트워크의 광고 제어 방법 - 덤프

기본적으로 닝 네트워크는 애드 센스 광고는 오른쪽 열에 있습니다. 누군가 광고를 클릭하면 생성 된 모든 수익이 Ning으로 이동합니다. 네트워크에서 광고를 게재하여 수익을 얻고 싶거나 광고를 전혀 원하지 않는 경우 제어 광고 프리미엄 서비스를 구입해야합니다.

Ning에서 그룹을 만드는 방법 - Dingy

Ning에서 그룹을 만드는 방법 - Dingy

Ning에서 새로운 그룹을 시작하는 것은 가장 멋진 방법 중 하나입니다. 네가 닝 네트워크에서 할 수있는 일. 그룹을 만들 수 있도록 네트워크가 설정되어 있다면 다음 단계를 따르십시오.

편집자의 선택

Canon Rebel T3 시리즈 카메라로 원시 이미지 파일 처리하기 - 더미 파일

Canon Rebel T3 시리즈 카메라로 원시 이미지 파일 처리하기 - 더미 파일

Canon Rebel T3 또는 T3i로 촬영 한 이미지를 원시 데이터로 캡처 할 수 있습니다. Canon 소프트웨어를 사용하는 경우 Raw 파일을 즉시 인쇄 할 수는 있지만 인쇄하기 전에 사진 작업실로 가져 가서 온라인으로 공유하거나 사진 소프트웨어에서 편집 할 수 있습니다.

Canon Rebel T3 시리즈 카메라에서 자동 초점 포인트 설정 - 인형

Canon Rebel T3 시리즈 카메라에서 자동 초점 포인트 설정 - 인형

Canon Rebel T3 또는 T3i를 사용하는 스포츠 모드에서는 카메라가 중심 초점 위치에 초점을 둡니다. Creative 자동 및 A-DEP 모드뿐만 아니라 다른 완전 자동 노출 모드 (장면 인텔리전스 자동, 인물, 풍경 등)에서 카메라의 자동 초점 시스템은 9 개의 자동 초점을 모두 찾습니다 ...