C语言学习笔记----sizeof()的使用
关于sizeof()函数的介绍,百度百科介绍如下:
其核心功能就是判断数据类型长度符,先通过一个实际例子看一下。
通过上面的例子可以看到字符型和无符号字符型长度为都是1,整形和无符号整形长度都为2。字符数组cs的长度为8,其中字符长度为7加上结束符,共占8个字节。字符串指针pcs长度为3。后面的x9、x12、x16这三个都是指针,长度都是3,虽然x16是整形,x9、x12是字符型,但是在单片机内部依然都占用的3个字节的内存。x11占用了9个字节,x11是指针数组,其中里面总共有3个指针。说明一个指针也是占用3个字节。
这就说明了,指针变量的sizeof值与指针所指的对象没有任何关系,所有的指针变量所占内存大小相等。
通过x13也可以看出,数组的sizeof值等于数组所占用的内存字节数,和数组中存储的内容大小没有关系。所以在计算数组is中数组个数时,可以写成
len = sizeof(is)/sizeof(int);
也可以写成
len = sizeof(is)/sizeof(is[0]);
用数组所有元素所占空间大小除以一个元素所占字节大小。
下面借用百度百科中的一句话来总结一下sizeof()的用法。
C语言学习笔记----sizeof()的使用相关推荐
- 梓益C语言学习笔记之链表&动态内存&文件
梓益C语言学习笔记之链表&动态内存&文件 一.定义: 链表是一种物理存储上非连续,通过指针链接次序,实现的一种线性存储结构. 二.特点: 链表由一系列节点(链表中每一个元素称为节点)组 ...
- 梓益C语言学习笔记之指针
梓益C语言学习笔记之指针 一.32位平台下,地址是32位,所以指针变量占32位,共4个字节 二.内存单元的地址即为指针,存放指针的变量称为指针变量,故:"指针"是指地址,是常量,& ...
- C语言学习笔记-P1 初识C语言(2)
C语言学习笔记-P1 初识C语言(2) C语言学习笔记-P1 初识C语言(2) 一.常量 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 3.枚举常量 二.字符串+转义字 ...
- C语言学习笔记-P1 初识C语言(1)
C语言学习笔记-P1 初识C语言(1) P1 初识C语言(1) 一.什么是C语言 1.定义 2.发展 二.第一个C语言程序 Hello World 三.数据类型 四.变量,常量 未完待续!!! P1 ...
- C语言学习笔记第十天
C语言学习笔记第十天 目录 C语言学习笔记第十天 一.什么是堆内存 二.为什么要使用堆内存 三.如何使用堆内存 四.malloc的内存管理机制 五.使用堆内存需要注意的问题 六.内存清理函数 七.堆内 ...
- c语言存储类型关键字作用,c语言学习笔记.关键字.存储类型关键字等
关键字const 1.修饰变量. 修饰的对象为常量,只读. 2.修饰指针. const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据. const 离变量名近就是用来修 ...
- C语言学习笔记——堆区空间申请(一)
C语言学习笔记 堆区空间申请(一) 栈区变量分析 所有程序/软件的运行,都是由操作系统统一调配的,操作系统是程序的运行环境 运行中的多个程序之间,内存是不交叉的 程序结束后,操作系统还要释放其使用的资 ...
- Lawliet|C语言学习笔记2——变量/数据类型/表达式
C语言学习笔记2--认识C语言1 1.变量 a.变量的命名 <类型名称><变量名称> 存放数据的一个地方,用于参与后续的运算. 变量命名的规则:只能由字母.数字和下划线组成,且 ...
- (一)Go语言学习笔记
Go语言学习笔记 1 前言 2 写Go语言需要注意的地方 2.1 Go语言编译执行和直接run的区别 2.2 Go语言的特点 2.3 Linux下配置Go环境变量 2.4 随记 3 go_code 3 ...
最新文章
- 有没有必要把机器学习算法自己实现一遍?
- 初学Java Web——Servlet(一)
- comsol计算数据导出matlab,comsol4.2怎样在matlab中通过函数输出数据
- linux之菜鸟学习第一天
- spring boot+mybatis+quartz项目的搭建
- js中使用HTML模板字符串
- 助航标志信息自动导入电子海图研究
- matlab2008 软件下载及安装教程
- 利用word2007插入参考文献
- vPro平台再进化:专为商务而生,助力企业数字化大时代
- 上海公积金离职提取攻略
- 深入浅出GAN框架原理
- Linux spi驱动分析(四)----SPI设备驱动(W25Q32BV)
- 移动硬盘安装ubuntu系统二——启动U盘安装
- 华为又走在美国芯片企业前面,将率先发布5nm工艺芯片
- VIP邮箱批量群发效果哪家最好?
- 语义网简介(非应用)
- Revit项目和族文件升级后出现无响应死机情况
- 维盟WayOS2017工控版Vmware虚拟机安装
- 第三人称的英语作文我和我的计算机,英语作文:我的同学My Classmate