sizeof在C与C++中对字符常量的区别

SAP BO系统启用邮件发送功能 目录 背景 维护邮件目标 启用邮件功能 背景 为了将BO报表或BO预警信息发送给特定的收件人,需要启用SAP BO系统的邮件发送功能。 维护邮件目标 1. 登录BO系统的中央管理控制台(CMC): http://<bo server name>:<port>/BOE/CMC 2. 点击“Organize”底下的“Servers”按钮进入BO服务器界面: 3. 点击“Servers List”进入服务器列表界面,右键点击JobServer&lt. 阅读详情

In C :

#include <stdio.h>
int main(){
char a = 'a';
printf("Size of char : %d\n",sizeof(a));
printf("Size of char : %d\n",sizeof('a'));
return 0;
}
Output :

Size of char : 1
Size of char : 4

In C++ :

#include <iostream>
int main(){
char a = 'a';
std::cout<<"Size of char : "<<sizeof(a)<<"\n";
std::cout<<"Size of char : "<<sizeof('a')<<"\n";
return 0;
}
Output :

Size of char : 1
Size of char : 1
为什么sizeof('a')返回的值在C与C++中是不同的?


C99标准的规定,'a'叫做整型字符常量(integer character constant),被看成是int型,所以在32位机器上占4字节。 
ISO C++标准规定,'a'叫做字符字面量(character literal),被看成是char型,所以占1字节。

C99:
An integer character constant is a sequence of one or more multibyte characters enclosed
in single-quotes, as in 'x'. An integer character constant has type int.

C++2003:
A character literal is one or more characters enclosed in single quotes, as in ’x’, optionally preceded by the letter L, as in L’x’.A character literal that does not begin with L is an ordinary character literal, also referred to as a narrow-character literal. An ordinary character literal that contains a single c-char has type char, with value equal to the numerical value of the encoding of the c-char in the execution character set. An ordinary character literal that contains more than one c-char is a multicharacter literal. A multicharacter literal has type int and implementation-defined value.

MATLAB实战:用ARMAX模型搞定电力系统惯量评估(附完整代码) 本文详细介绍了如何利用MATLAB中的ARMAX模型进行电力系统惯量评估,解决新能源占比提高带来的系统惯量下降问题。通过系统辨识技术,从电网运行数据中准确提取惯量参数,并提供完整的代码实现,帮助工程师快速应用于实际工程。 阅读详情

相关推荐

MATLAB锂离子电池伪二维(P2D)模型实现

锂离子电池伪二维(P2D)模型的MATLAB实现。该模型基于Newman等人提出的经典电化学模型,考虑了固液相扩散、电荷守恒和电化学反应动力学。

hie98894的博客 1928

【C语言】sizeof常量字符串

常量字符串的常用表示方式: 1、常量自身;如:“abc” 2、将常量存放到数组;如:char []a = "abc" 3、用字符指针指向常量字符串;如:const char *pStr = "abc" 以上三种表示方式,通过sizeof计算出来值有自身的含义: 1、存放常量字符串的空间; sizeof("abc") = 4 2、存放常量字符串使用的数组空间;sizeof(a) = 4 3、指向常量字符串的指针空间;sizeof(pStr) = 8 [64位系统] #include <stdli.

sidemap的博客 4991

在UI界面中播放视频_unity基础开发教程

之前我写过一篇在场景中播放视频的文章,但是在开发中有时候也会在UI的界面中播放视频,这期我们做一下在UI的界面中播放视频。操作步骤比较简单,到这里就完成了,如果有问题的话可以在评论区留言,下期见,拜拜!

为者常成,行者常至! 2010

C 字符常量 sizeof用法

sizeof一共有3种形式(以64位编译器为例) 如何查看编译器是多少位? sizeof(void *); sizeof( 变量\常量 ) sizeof(10);    // 长度为4 char c = 'a';    sizeof(c);    // 长度为1sizeof ('a')   // 长度为4,字符常量在内存中占4个字节,存放的是字符的ASCII码(...

weixin_30776863的博客 397

【搭建实战】全国天气预报看板搭建

不仅如此,码匠还一站式提供了企业内部系统常用的租户管理、细粒度的权限控制、审计日志等功能,让您快速搭建后台应用的同时,也为您的企业信息安全保驾护航。是一款国内研发的开发者友好的低代码平台,您无需了解React/Vue等框架的开发、部署等各种细节,就可以快速打通前后端,连接RESTAPI、MySQL、MongoDB等多种数据源,然后通过一套开箱即用的组件,轻松搭建功能完善的数据看板、数据洞察、Admin管理后台等多种应用。天气预报对我们的各项活动有很大的帮助,可以让我们合理安排自己的出行等活动。...

weixin_39545889的博客 427

WSL2不能上网,Failed to connect to github.com port 443问题解决方案

WSL2不能上网: 问题:ping外网无效 例如:ping www.baidu.com失败 解决方案: 在wsl: $sudo vi /etc/wsl.conf wsl.conf: [network] generateResolvConf = false 在PowerShell: $sudo vi /etc/etc/resolv.conf resolv.conf: # This file was automatically generated by WSL. To stop automatic gen

Jason_Chen__的博客 9525

c语言,用sizeof求各数据类型、常量、变量的字节数

#include<stdio.h> int main(void) { float x; printf("%d\n",sizeof(short)); 输出字节数2 printf("%d\n",sizeof(x)); 输出字节数4 printf("%d\n",sizeof(‘x’)); 输出字节数1 printf("%d\n",sizeof(2)); 输出字节数4 printf("%d\n"sizeof(2+3.14)); 输出字节数8 } ...

qq_38606272的博客 3273

密码学:一文读懂数字证书

消息摘要算法用于验证数据完整性服务,对称加密算法和非对称加密算法用于保证数据保密性服务,数字签名算法用于抗否认性服务。数字证书集合了多种密码学算法:自身带有公钥信息,可完成相应的加密/解密操作;同时,还带有数字签名,可鉴别消息来源;且自身带有消息摘要信息,可验证证书的完整性;由于证书本身含有用户身份信息,因而具有认证性。

Shujie 2909

关于sizeof()的一些思考

今天面试被问到sizeof,回来整理一下。 1、定义 sizeof是C/C++中的一个操作符(operator),作用就是返回一个对象或者类型所占的内存字节数。 MSDN上的解释为:The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (includin

ZkvIA的博客 1144

Claude Code 常见安装失败问题与解决办法

摘要: Claude Code安装失败通常与环境、网络和权限问题有关,而非软件本身。主要误区包括:命令未识别(需检查PATH和终端重启)、网络连接失败(终端代理配置)、权限不足(系统安全限制)及账号认证问题。首次使用应避免复杂任务,建议从基础功能测试开始。快速自检可按终端重启→命令识别→网络→代理→权限→账号状态的顺序排查。理顺终端、网络和权限后,Claude Code运行将更稳定。 (150字)

sg_knight的专栏 6695

Cesium教程(十七):淹没分析

淹没分析是根据某片区域的地形及洪水流量速度,动态模拟该地形区域水位逐渐上涨的淹没过程。该功能可适用于山区、丘陵等地形起伏较大区域,模拟洪水涨到安全限定高度的淹没过程,为防洪水救灾提供一定的参考。此外,还可以为河谷地带修建水利工程设计与选址提供参考依据。

WwLK123的博客 3008

C ++基础 | sizeof函数(endl 和 "\ n"),定义常量(Define Constants),枚举常量(Enumerated Constants)_2

目录 sizeof函数(endl 和 "\ n") 定义常量 枚举常量 sizeof函数(endl 和 "\ n") 与其他编程语言一样,在内存中分配变量的大小取决于其类型。 要确定每个变量类型使用的字节数,C ++提供函数sizeof(variableType)。您将使用以下命令:  sizeof(variable type) ie: sizeof(int) 打印出变量类型时,您...

Tom的专栏 915

菜鸟哥玩蓝牙Ble4.0系列 ESP32初玩篇③ Beacon —— 广播应用,室内定位,内容推送

文章目录1、前言1.1 什么叫做Beacon?1.2 Beacon使用场景1.3 Beacon协议落地实现2、ESP32 Beacon案例3、Beacon核心库 —— BLEBeacon、BLEEddystoneTLM、BLEEddystoneURL3.1 BLEBeacon3.2 BLEEddystoneTLM3.3 BLEEddystoneURL 授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。

单片机菜鸟哥的博客 2万+

字符串常量和常量字符串的区别,使用sixeof计算两者有什么不同?

字符串常量和常量字符串的区别,使用sixeof计算两者有什么不同?

weixin_46319994的博客 406

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

strlen PK sizeof

Q:为什么我们在开辟malloc一块字符数组空间的时候,经常调用 memset函数进行全部'\0'操作了?A:因为使用计算长度的strlen函数,printf函数遇到'\0'字符才会中止.防止内存越界.printf函数也是遇到'\0'字符才会结束哦.前面提到字符数组,在来小谈一会.字符数组到字符指针的过程,是退化,即前者退化为了后者,为什么这么说, 因为字符数组存储的信息,是比字符指针的信息多的,什么时候发生退化,函数传参的时候就会发生。

m0_61451096的博客 1338

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C/C++ sizeof操作符

以下测试结果均在VS2013环境下做的测试: #include #include int main() {            char a = '0' ;           printf( "%d\n", sizeof (char));           printf( "%d\n", sizeof (a));           printf

qq1010234991的博客 408

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

sizeof、strlen、length、size

sizeof:sizeof(),他的参数可以是数组、指针、类型、对象、函数等。他是一个运算符,用来计算这个参数的所占的总的字节数。 strlen:strlen(),他的参数必须是字符型指针(char*),当数组名作为参数传入时,实际上数组就退化成指针了。他是一个函数用来返回这个参数中字符串的长度。我们来比较一下: 1 #include <iostream> 2 using...

weixin_33928467的博客 104

sizeof 和strlen区别

2. strlen 测量的是字符的实际长度,以'\0' 结束(不包含'\0' )。而sizeof 测量的是字符的分配大小,如果未分配大小,则遇到'\0' 结束(包含'\0' ,也就是strlen测量的长度加1),如果已经分配。sizeof为分配空间大小,strlen为实际显示长度。1. strlen 是函数,sizeof 是。大小,返回的就是分配的内存大小。......

weixin_56216557的博客 352

字符数组 字符指针 字符串常量 数组名与指针变量

写得很好的总结~ 转载自:https://www.cnblogs.com/fly1988happy/archive/2012/04/06/2434222.html 1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符。 如在代码中写"abc",那么编译器帮你存储的是"abc\0"。 2. "abc"是常量吗?-----------注意字符串的存储形式 答案是有...

silverBlack 1739

A的大小是多少c语言中,C/C+中字符(A)的大小

C/C+中字符(A)的大小C和C+中字符的大小是多少?据我所知,C和C+中字符的大小都是1字节。#includeintmain(){printf("Sizeofchar:%d\n",sizeof(char));return0;}#includeintmain(){std::cout<return0;}没有任何意外,它们都给出了输出:Size of char : 1现在我们...

weixin_39976166的博客 1799

C++字符数组和string

介绍字符指针和字符数组的一些区别,以及和c++里面的string互相转换的

chadm.xiang 1080

关于sizeof

  昨天看了一些C语言问题(http://www.gowrikumar.com/c/)以及国内几个Geeks的解答(http://wangcong.org/blog/?p=291,http://www.matrix67.com/blog/archives/429),看来自己的C基础还是可以的,没遇到什么大问题。有时候自己也去分析过IOCCC(http://www.ioccc.org/)的代码,或多...

weixin_34381666的博客 107

字符数组,字符指针,字符串常量以及其sizeof的一些总结

1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符。 如在代码中写"abc",那么编译器帮你存储的是"abc\0"。 2. "abc"是常量吗?-----------注意字符串的存储形式   答案是有时是、有时不是。    (1)不是常量的情况: "abc"作为字符数组初始值的时候就不是,如:   char str[] = "abc";    因为定义的是一个字符数

tiantiananan的专栏 580

字符串的存储方式,以及sizeof()(字符数组,字符指针,Sizeof总结)

字符数组,字符指针,Sizeof总结 1.以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写 "abc",那么编译器帮你存储的是"abc\0" 2."abc"是常量吗?答案是有时是,有时不是。 不是常量的情况:"abc"作为字符数组初始值的时候就不是,如      char str[] = "abc"; 因为定义的是一个字符数组,所以就相当于定义了一些空间

one shot,one kill. 748

拿捏住C字符串,这个烦人程度不亚于指针的小东西

其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。

2301_82242844的博客 1044

c风格字符串和string使用的一些注意点

1.对于c风格字符串,通常有如下几种赋值方法(字符串(双引号括起来的)都是以'\0'结尾的!!) char p[]="abcde";这里“abcde”是个常量字符串,存储在常量区。字符串的结尾都是带‘\0’的,只是没有显示而已,p是个数组。这里的意思是把此常量字符串值复制一份存储在数组p中,p的最后一个位置存储的是‘\0',数组长度为6。 char p[]={'a','b','c','d','

T_W_S的专栏 1516
上一篇: 数组和链表的关系
下一篇: 函数名与数组名
rangf
博客等级 码龄18年 59粉丝 123原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值