32位机下的sizeof()

2024-02-22 08:08
文章标签 sizeof 32 位机

本文主要是介绍32位机下的sizeof(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 先申明一下,下面的程序都是运行在32位机上,默认是4字节对齐方式。

char str[] = “www.ibegroup.com” char *p = str ; int n = 10; 请计算 sizeof (str ) = ?

(1) sizeof ( p ) = ?

(2) sizeof ( n ) = ?

(3) void Foo ( char str[100]){ 请计算 sizeof( str ) = ?

(4) } void *p = malloc( 100 ); 请计算 sizeof ( p ) = ?

(5)

 #include<stdio.h>  
 #include<stdlib.h> 

void Foo ( char str[100]);

int main()

{ char str[] = "www.ibegroup.com";

char *p = str ;

int n = 10;

printf("%d\n%d\n%d\n",sizeof(str),sizeof(p),sizeof(n));

Foo(str);

void *qp =(void*) malloc( 100 );

printf("%d", sizeof (qp )); }

void Foo ( char str[100])

{ printf("%d\n", sizeof(str)); }

结果: 17 (字符1个字节一个,17个字符) 4 (指针类型的长度都是4个字节) 4 (int类型4个字节) 4 (传到函数里面的是指针,还是4个字节) 4 (指针,或叫地址就是4个字节)


 
 
 另: 
 int p[100]; 
 sizeof(p)=400; 
 整型数组的大小=数组长度*sizeof(int); 
 struct node{ 
 char a;
 short b;
 int c;
 } ; 
 sizeof(node)=8; 
 char类型默认是1个字节,short默认是2个字节,int默认4个字节。由于系统默认4字节对齐方式, 
 总的大小必须是4的整数倍,所以为8。(请注意内存空洞问题)

这篇关于32位机下的sizeof()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/734636

相关文章

『功能项目』更换URP场景【32】

上一章已经将项目从普通管线升级到了URP管线 现在我们打开上一篇31项目优化 - 默认管线转URP的项目, 进入战斗场景 将Land的子级全部隐藏 将新的URP场景预制体拖拽至Land子级 对场景预制体完全解压缩 将Terrain拖拽至Land的直接子级 将Terrain设置为Land 与 静态Static 清除烘培 重新烘培 修改脚本:LoadRe

leetcode#32. Longest Valid Parentheses

题目 Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", the longest valid parentheses substring is "()", wh

”CSS 网格“二维布局系统(补充)——WEB开发系列32

CSS 网格布局是一种二维布局系统,用于网页设计。通过使用网格,你可以将内容以行和列的形式进行排列。此外,网格布局还能够简便地实现一些复杂的布局结构。 一、什么是网格布局? CSS网格布局是一种二维布局系统,它允许我们创建复杂的网页布局,既可以处理行也可以处理列。与传统的布局方法不同,网格布局将网页分成多个可控的区域,这些区域可以任意排列、对齐和调整大小。网格布局使得创建灵活且响应

大语言模型的32种消除幻觉的技术,你都了解吗?

大模型幻觉问题是计算机语言学中一个重要的研究方向。为减轻幻觉,研究人员提出了多种策略,比如反馈机制、外部信息检索等,但一直缺少一篇详细综述将近期关于幻觉的研究工作串联起来。 今天介绍的这篇文章详细梳理了大语言模型幻觉消除技术,将其系统的分为提示工程和模型开发两大类。 提示工程涉及基于检索增强的方法、基于反馈的策略或提示微调;模型开发则可分为多种方法,包括新的解码策略、基于知识图谱的优化、新增的

32个Python爬虫项目实例,从入门到入坑(附源码)

如果你正在学习Python,那么你需要的话可以,点击这里👉Python重磅福利:入门&进阶全套学习资料、电子书、软件包、项目源码等等免费分享! 学习Python爬虫项目是一个很好的方式来提升你的编程技能,并了解网络数据的获取和处理。以下是一些建议的学习步骤和项目示例,帮助你开始Python爬虫的学习之旅。 学习步骤 基础准备: 熟悉Python编程语言基础,包括数据类型、控制流、函

sizeof与strlen函数的区别

strlen是函数,而sizeof是算符 strlen函数,用来求字符串的长度,sizeof函数是用来求指定变量或变量类型(操作数)等所占用内存的大小且存储大小由操作数的类型决定。   若操作数具有类型char、unsigned char或signed char,其结果等于1。 ANSI C正式规定字符类型为1字节。 其他类型:int(4)、unsigned int(4) 、shor

LeetCode - 32. Longest Valid Parentheses

32. Longest Valid Parentheses  Problem's Link  ---------------------------------------------------------------------------- Mean:  给定一个由'('和')'组成的字符串,求最长连续匹配子串长度. analyse: 定义一个stack<pair

sizeof 关键字实现原理

sizeof 是 C 语言中的一个关键字,它用于计算某个类型或变量所占用的内存大小。sizeof 关键字在编译时由编译器处理,它的实现与具体的编译器和平台有关。 1.sizeof工作原理 在高级层面上,sizeof 的工作原理如下: 编译时计算:sizeof 是在编译时计算的,而不是在运行时执行。编译器通过分析变量或类型来确定其在目标平台上所占用的内存大小。由于 sizeof 是在编译时计

java32:I/O

Java 对操作系统中文件系统的支持 File 类     用于描述操作系统中的一个文件或者目录     通过File 我们可以得知文件的名字,大小,修改时间等信息,但是不能读取文件的内容 package day32;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import

32位操作系统寻址范围与支持的最大内存空间

32位的操作系统能够寻址的地址编号范围是1到2的32次方,而每一个地址都是指的内存中一个字节的地址,所以32位操作系统能够支持访问的的最大内存空间是2的32次方字节,也就是4G的内存空间,根据自己的理解,自己画了张图如下: 一个内存地址代表一个字节的地址不是一bit的地址 背景知识: 在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。