【sizeof()的使用方式】简洁明了初识C语言

sizeof()介绍

sizeof其实仅仅只是一个操作符,我们要注意它并不是一个函数,他就类似与常见的+、=、-......的操作符,并且sizeof是一个单目操作符。sizeof实际上是获取了数据在内存中所占用的存储空间,以字节为单位来计数。

sizeof()用于数据类型

我们在初学C语言时,就已经知道了sizeof可以计算各种数据类型的所占的存储空间。例如,回忆一下以下代码:

cs 复制代码
#include <stdio.h>
int main()
{
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(char));
	printf("%d\n", sizeof(short));
	printf("%d\n", sizeof(long));
	printf("%d\n", sizeof(long long));
	printf("%d\n", sizeof(double));
	printf("%d\n", sizeof(float));
	printf("%d\n", sizeof(long double));

	return 0;
}

运行出来的结果为(不同的计算器运行的结果部分不同):

4

1

2

4

8

8

4

8

sizeof()用于变量

我们可以看一下下面的例子:

cs 复制代码
#include <stdio.h>
int main()
{
	int a = 5;
	int b = 10;
	int arr[] = { 1,2,3,4 };

    printf("%d\n", sizeof(a));
	printf("%d\n", sizeof(b));
	printf("%d\n", sizeof(arr));
	
	return 0;
}

运行的结果为:

4

4

16

sizeof()计算元素个数

用整个数组的sizeof去除以一个元素的sizeof。

数组的长度 =数组所占的大小/ 单个数组元素所占的大小 。

cs 复制代码
#include<stdio.h>
int main()
{
    int arr[] = {1,2,3,4,5,6};
    int len = sizeof(arr)/sizeof(arr[1]);
    printf("%d\n", len);
    return 0;
}

运行的结果为:

6

相关推荐
Logic10113 小时前
C语言/数据结构动态规划题解:字符串变回文的最少操作次数——最长回文子序列(LPS)
c语言·数据结构·算法·动态规划·时间复杂度·回文串·最长回文子序列
wuminyu14 小时前
ZGC染色指针在虚拟线程stackChunkOop上的并发屏障全景分析
java·linux·c语言·jvm·c++
Logic10114 小时前
C语言/数据结构组合数学题解:数字好排列计数——质数倍数分类与阶乘取模
c语言·数据结构·算法·组合数学·时间复杂度·排列·取模运算
沫璃染墨15 小时前
《从零入门数据结构与算法(二):线性表详解——从顺序表原理到静态与动态实现》
c语言·数据结构·顺序表
wuyk55515 小时前
样章-第03讲-FreeRTOS在16KB-RAM上的裁剪与陷阱
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·系统架构
爱读书的小胖15 小时前
Codewars Sum of a Sequence Hard Core Version C 解题分析
c语言·数据结构·算法
夏虫不可与之言冰15 小时前
使用Flash Download Tool给ESP32烧录固件
c语言·c++·windows·单片机·物联网·iot
wuyk5551 天前
嵌入式驱动开发:量产级工程化实战(第9篇)——低功耗下的通信可靠性
c语言·驱动开发·stm32·单片机·嵌入式硬件
学逆向的1 天前
C 突破编译器限制
c语言·开发语言·网络安全
endeavor121 天前
can总线(五)
c语言·stm32·单片机·can