>  기사  >  운영 및 유지보수  >  리눅스에는 몇 바이트가 있습니까?

리눅스에는 몇 바이트가 있습니까?

WBOY
WBOY원래의
2022-07-13 10:40:464280검색

Linux에서는 short가 32비트와 64비트 플랫폼 모두에서 2바이트를 차지합니다. Linux에서는 long과 void(C 언어에서 void는 "불확정 유형"임)만 32비트 4바이트에 있습니다. 64비트에서는 8바이트입니다.

리눅스에는 몇 바이트가 있습니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

리눅스에는 short로 몇 바이트가 있나요

리눅스에는 몇 바이트가 있습니까?

long(long 정수형), void*(C 언어에서는 void가 "불확실한 형"), 4byte만 32에 있는 것을 알 수 있습니다. -bit 및 64비트 8바이트입니다.

확장 지식

char은 1바이트, short는 2바이트, int, float, long은 모두 4바이트, double은 8바이트를 차지합니다

포인터 길이는 주소 버스와 관련이 있습니다. 포인터는 주소를 기록하기 때문에 32비트는 4바이트, 64비트는 8바이트입니다.

다음 코드는 win10 64비트 시스템에서 실행되었습니다. int가 8바이트를 차지한다고 해야 하지만 나중에 제가 만든 프로젝트가 win32 콘솔 애플리케이션이라는 것을 알았습니다. 32비트 - "int가 차지하는 바이트 수는 컴파일러뿐만 아니라 CPU, 가상 머신 또는 운영 체제에 의해서도 결정되지만 최종 분석에서는 컴파일러에 의해 결정됩니다."

64비트 win10에서 , codeblocks win32 console에서

#include "iostream"
using namespace std;
int main()
{
double *p = NULL;
cout<<sizeof(char)<<endl;
cout<<sizeof(short)<<endl;
cout<<sizeof(int)<<endl;
cout<<sizeof(float)<<endl;
cout<<sizeof(long)<<endl;
cout<<sizeof(double)<<endl;
cout<< sizeof(char *) << sizeof(short *) << sizeof(int *) << sizeof(p) << sizeof(double *)<<endl;
return 0;
}

결과는 다음과 같습니다.

1
2
4
4
4
8
44444

위에서 보면 char는 1바이트, short는 2바이트, int, float, long은 모두 4바이트, double은 8바이트, 그리고 모든 유형의 포인터는 4바이트를 차지합니다. 섹션

추천 학습: Linux 비디오 튜토리얼

위 내용은 리눅스에는 몇 바이트가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.