zoukankan      html  css  js  c++  java
  • C语言sizeof

    一、关于sizeof

    1.它是C的关键字、是一个运算符,不是函数;

    2.一般用法为sizeof 变量或sizeof(数据类型);后边这种写法会让人误认为是函数,但这种写法是为了防止和C中类型修饰符(static、const、extern等)冲突。

    二、demo

    1.源码

    test.c

    #include <stdio.h>
    
    int main()
    {
      int i;
      printf("sizeof i is %d
    ",sizeof i);
      /*
      以下语句不屏蔽会提示:test.c:12: 错误: expected expression before ‘int’
      因为,基本数据类型int前的关键字会被认为成是类型修饰符(类似static、const、extern等,而sizeof关键字不是类型修饰符)
      正确写法:printf("sizeof(int) is %d
    ",sizeof(int));
      */
      //printf("sizeof int is %d
    ",sizeof int);
    
      enum Color{
        GREEN = 1,
        RED,
        BLUE,
        GREEN_RED = 10,
        GREEN_BLUE
      }ColorVal;
      printf("sizeof ColorVal is %d
    ",sizeof ColorVal);
      /*
      以下语句不屏蔽会提示:test.c:26: 错误: expected expression before ‘enum’,原因同上。
      正确写法:printf("sizeof(enum Color) is %d
    ",sizeof(enum Color));
      */
      //printf("sizeof enum Color is %d
    ",sizeof enum Color);
    
      union check{
        int i;
        char ch;
      } c;
      printf("sizeof c is %d
    ",sizeof c);
      /*
      以下语句不屏蔽会提示:test.c:37: 错误: expected expression before ‘enum’,原因同上。
      正确写法:printf("sizeof(union check) is %d
    ",sizeof(union check));
      */
      //printf("sizeof union check is %d
    ",sizeof union check);
    
      struct list{
        int i;
        char ch;
      } a;
      printf("sizeof a is %d
    ",sizeof a);
      /*
      以下语句不屏蔽会提示:test.c:48: 错误: expected expression before ‘enum’,原因同上。
      正确写法:printf("sizeof(struct list) is %d
    ",sizeof(struct list));
      */
      //printf("sizeof struct list is %d
    ",sizeof struct list);
      return 0;
    }
  • 相关阅读:
    反向迭代
    c++知识点
    LeetCode-Count Bits
    LeetCode-Perfect Rectangle
    LeetCode-Perfect Squares
    LeetCode-Lexicographical Numbers
    LeetCode-Find Median from Data Stream
    LeetCode-Maximal Square
    LeetCode-Number of Digit One
    LeetCode-Combination Sum IV
  • 原文地址:https://www.cnblogs.com/siqi/p/4652952.html
Copyright © 2011-2022 走看看