흔히 함수로 오인되는 키워드--sizeof

1931 단어 sizeof
sizeof는 키워드로 함수가 아닌 특수한 연산자입니다.
예제 프로그램:

#include <stdio.h>
#include <malloc.h>

void getMemory1(char a[100]){
    char *p = (char *)malloc(100);
    printf("sizeof(a):%d,sizeof(p):%d
",sizeof(a),sizeof(p)); } int main(void){ int i = 0; char a[100]; char *p; int *p1 = NULL; char *p2; p2 = "123";// , getMemory1(a); p = a; printf("%d
",sizeof(int)); printf("%d
",sizeof(i)); //printf("%d
",(sizeof int)); printf("%d
",(sizeof i)); printf("sizeof(a):%d
",sizeof(a)); printf("sizeof(a[100]):%d
",sizeof(a[100])); printf("sizeof(&a):%d
",sizeof(&a)); printf("sizeof(&a[0]):%d
",sizeof(&a[0])); printf("sizeof(p):%d
",sizeof(p)); printf("sizeof(*p):%d
",sizeof(*p)); printf("sizeof(p1):%d
",sizeof(p1)); printf("sizeof(*p1):%d
",sizeof(*p1)); printf("sizeof(p2):%d
",sizeof(p2)); printf("sizeof(*p2):%d
",sizeof(*p2)); printf("sizeof(*p2+1):%d
",sizeof(*p2+1)); printf("sizeof(*(p2+1)):%d
",sizeof(*(p2+1))); return 0; }

작동 결과는 다음과 같습니다(32비트 시스템에서 작동).

sizeof(a):4,sizeof(p):4
4
4
4
sizeof(a):100
sizeof(a[100]):1
sizeof(&a):4
sizeof(&a[0]):4
sizeof(p):4
sizeof(*p):1
sizeof(p1):4
sizeof(*p1):4
sizeof(p2):4
sizeof(*p2):1
sizeof(*p2+1):4
sizeof(*(p2+1)):1

좋은 웹페이지 즐겨찾기