【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

相关推荐
学不动CV了1 小时前
ARM单片机启动流程(二)(详细解析)
c语言·arm开发·stm32·单片机·51单片机
猫猫的小茶馆3 小时前
【STM32】通用定时器基本原理
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机
pumpkin845145 小时前
Rust 调用 C 函数的 FFI
c语言·算法·rust
2401_858286115 小时前
125.【C语言】数据结构之归并排序递归解法
c语言·开发语言·数据结构·算法·排序算法·归并排序
双叶8366 小时前
(C++)学生管理系统(正式版)(map数组的应用)(string应用)(引用)(文件储存的应用)(C++教学)(C++项目)
c语言·开发语言·数据结构·c++
is08158 小时前
STM32的 syscalls.c 和 sysmem.c
c语言·stm32·嵌入式硬件
学不动CV了9 小时前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
liulilittle13 小时前
C++ i386/AMD64平台汇编指令对齐长度获取实现
c语言·开发语言·汇编·c++
V我五十买鸡腿15 小时前
顺序栈和链式栈
c语言·数据结构·笔记·算法
森焱森1 天前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机