码迷,mamicode.com
首页 > 编程语言 > 详细

c语言面试题之sizeof

时间:2016-07-24 13:22:52      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

c语言面试题之sizeof

c语言面试题之sizeof

Table of Contents

1 sizeof

sizeof是c语言中判断数据类型或者表达式的长度符,它不是函数,,字节数的计算在程序编译
时进行,而不是在程序执行的过程中才计算出来!(文采不行,我就废话下了,接下来上重点)!

 
 #include

 int main(int argc, char* argv[])
 {
    char str[]="123";
    char *p=str;
  
    printf("%d\n", sizeof(‘a‘));  //=4
    printf("%d\n", sizeof("a"));  //=2
    printf("%d\n", sizeof(str));  //=4
    printf("%d\n", sizeof(p));    //=4/8
    printf("%d\n", sizeof(*p));   //=1
    
    return 0;
  }
  • sizeof(‘a‘) == 4 众所周知‘a‘对应的ascii码的值为97,即 ‘a‘==97,换句话讲
    sizeof(‘a‘) 等价于 sizeof(97); 换句话讲,编译器把它当整型常量int处理
  • sizeof("a") == 2 无需解释你们懂
  • sizeof(str) == 4 求的是数组占用空间大小
  • sizeof(p) == 4或者8 32位系统无论什么类型的指针,大小都是4个字节
    64位系统无论什么类型的指针,大小都是8个字节
  • sizeof(*p)=1 等价于 sizeof(str1)

Footnotes:

1

DEFINITION NOT FOUND.

Date: a date, fixed, of a format string for format-time-string

Author: 野书

Created: 2016-07-24 日 11:47

Emacs 24.5.1 (Org mode 8.2.10)

c语言面试题之sizeof

标签:

原文地址:http://www.cnblogs.com/wild-book/p/5700389.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!