指针笔记_3
发布日期:2021-11-20 10:17:33 浏览次数:9 分类:技术文章

本文共 968 字,大约阅读时间需要 3 分钟。

指针变量和其他数据类型所占字节问题:

sizeof(数据类型)的返回值为该数据占得字节数

// 例子:sizeof(int)=4

// 假设p指向char类型变量(1个字节)
// 假设p指向int类型变量(4个字节)
// 假设p指向double类型变量(8个字节)

//1、用于数据类型

//sizeof使用形式:sizeof(type)
//数据类型必须括号括住,如sizeof(int)。
//2、用于变量
//sizeof使用形式:sizeof(var_name)或sizeof var_name
//变量名可以不用括号括住。如sizeof(var_name),sizeof var_name。但带括号的用法更普遍,
//注意:sizeof操作符不能用于函数类型。
//如:1)sizeof(max),变量max定义为int max();
//2)sizeof(void)
//这些都不是正确形式。
//
//三、sizeof的结果
//
//1、若操作数具有类型char,sizeof(char) = 1。
//2、int、float、double类型的sizeof大小:
//sizeof(int) = 4
//sieof(float) = 4
//sizeof(double) = 8
//char a1[] = “abc”; sizeof( a1 ); // 结果为4,字符 末尾还存在一个NULL终止符
//3、当操作数是指针时,不管是什么类型全部为4个字节
//4、当操作数具有数组类型时,其结果是数组所占用的的内存总字节数。
//如:int a[10],sizeof(a) = 40。
//式作为sizeof的操作数时,它返回的是表达式计算结果的类型大小,但是它不对表达式求值。如:int a = 10, sizeof(++a)。结果为4。

#include 
int main(){
char ch = 'A'; int i= 99; double x = 66.6; char *p = &ch; int* q = &i; double* r = &x; printf("%d%d%d\n", sizeof(p), sizeof(q), sizeof(r)); return 0; }

转载地址:https://blog.csdn.net/weixin_43223362/article/details/101313744 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:指针笔记_4
下一篇:指针笔记_2

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月07日 14时55分12秒