C语言中简单的sizeof()函数
来源:互联网 发布:ipad如何下载软件 编辑:程序博客网 时间:2024/06/06 02:58
#include <stdio.h>#include <stdlib.h>void fun(int b[]){printf("%i\n",sizeof(b));//4}void fun1(char b[]){printf("%i\n",sizeof(b));//4}int main(int argc,char** argv) {int *p = NULL;int a[100];int b[100];printf("%i\n",sizeof(p));//4printf("%i\n",sizeof(*p));//4printf("%i\n",sizeof(a)); //400printf("%i\n",sizeof(a[100])); //4printf("%i\n",sizeof(&a));//4printf("%i\n",sizeof(&a[0]));//4fun(b[100]);puts("-----------hua li de fen ge xian --------------");char *q = NULL;char c[100];char d[100];printf("%i\n",sizeof(q));//4printf("%i\n",sizeof(*q));//1printf("%i\n",sizeof(c)); //100printf("%i\n",sizeof(c[100])); //1printf("%i\n",sizeof(&c));//4printf("%i\n",sizeof(&c[0]));//4fun1(d[100]);//4puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */return 0;}
闲来无事,回顾一下sizeof(),该函数的主要功能是计算变量的字节数。首先,字节数与位数一定要弄清,4字节 = 1位,int 型站4位,32个字节。
OK,根据上面的例子你会发现,在Linux 32位系统的C中,地址永远占一位,也就是4个字节,&a,&a[10],&c,&c[0]都是地址,所以是1位,4个字节。
sizeof(a[100]) 与sizeof(c[100])分别表示 int,char类型的数,因此 4==sizeof(a[100]) 与1 == sizeof(c[100])。
在看看fun()函数中的sizeof(b)== 4 ,因为b在这里是一个指针,表示一个地址,相当于fun(int *b),这样传值b就相当于是数组的指针,所以为4.
0 0
- C语言中简单的sizeof()函数
- sizeof不是函数,C语言中sizeof的陷阱
- C语言sizeof()函数
- 简单实现C中sizeof函数是怎么实现的(面试的时候可能用到)
- C语言函数sizeof
- C语言中 sizeof
- c语言中函数的简单介绍
- c语言中sizeof()和strlen()的区别
- c语言中sizeof()的特点及用法
- C语言中sizeof()的用法
- C语言中sizeof的用法
- C语言中sizeof的用法
- c语言详解sizeof & sizeof函数总结
- C语言中 数组的运算及sizeof()和strlen()操作符的简单介绍
- C/C++中sizeof()函数的用法
- C语言 sizeof函数详解
- C语言 sizeof函数详解
- C语言 sizeof函数详解
- 2. Add Two Numbers--2016/09/18
- Leetcode No. 136. Single Number
- LeetCode No.53 Maximum Subarray
- Linux下 C++程序的编写
- linux的一些学习笔记
- C语言中简单的sizeof()函数
- java 多线程
- Spring上传报错413
- MacPro 安装Wget
- iOS开发-文件管理
- UE4下实现HTC Vive手柄拾取物品蓝图编程
- 微服务架构的学习
- Leetcode 62. Unique Paths
- 软件工程——机房收费各种图