首页 > 其他分享 >字符串字面量初始化数组的歧义?

字符串字面量初始化数组的歧义?

时间:2023-12-28 10:12:49浏览次数:40  
标签:初始化 arr 字面 char 数组 hello 歧义

char arr[]={'h','e','l','l','o','\0'} 声明初始化一个字符数组。

为了方便书写,我们也可以写成语法糖形式

char arr={"hello"} 或者 char []arr="hello"

"hello"是一个char []数组类型,C语言规定:数组类型对象用作表达式会转换为首元素指针

所以我们发现上面两个初始化数组方式,并没有转换为指针,否则就会出现类型不一致。

因为C语言又规定了:如果字符串字面量用于初始化数组,则不会发生到指针的转换。

不过看下面const char* arr[]={"hello"} 这个也算是用字符串字面量初始化数组吧,这里显然发生了到指针的转换。

所以由此我们断定:规范中的用于数组初始化的字符串字面量 不会发生隐适转换,特指初始化char[] 这种数组

标签:初始化,arr,字面,char,数组,hello,歧义
From: https://www.cnblogs.com/fuyun2000/p/17932087.html

相关文章

  • df = pd.DataFrame([[[]]]) df.columns = ["col"] df.query("col == []") # 不会按
    df=pd.DataFrame([[[]]])df.columns=["col"]df.query("col==[]")#不会按照字面意思筛选单元格值==[]#df["col"]==[]#valueErrordf.loc[df["col"].astype(str)=="[]"]df.query("col.astype('str')......
  • ORB-SLAM3中IMU初始化
    ORB-SLAM3中IMU初始化由LocalMapping线程中的InitializeIMU函数完成。主要是完成重力方向\(R_{wg}\)和尺度scale的估算,总共进行三次。InitializeIMU函数包含两部分:InertialOptimization和FullInertialBAInertialOptimization函数纯IMU的优化,固定关键帧位姿,优化重力方向、尺......
  • Objective-C(02)|类的定义和对象初始化(初阶)
    书接前文,奇怪的语法体验继续!对象的初始化和Java的new运算符不同,OC的对象初始化使用初始化方法(initializer),个人觉得比new运算符更酷,这方法名和C语言中动态分配内存空间的malloc很像。实例的生成:[ClassNamealloc]Cocoa中某个类的对象的生成:[[ClassNamealloc]init]通常嵌......
  • 官答|初始化GreatSQL报错无法找到数据目录或初始化数据字典失败
    官答|初始化GreatSQL报错无法找到数据目录或初始化数据字典失败GreatSQL推出新栏目——官答官答栏目针对GreatSQL数据库中的问题,选取官方论坛和讨论群中的典型提问进行深入解答。内容涵盖数据库安装部署、配置优化、故障排查、性能测试等方面。在文章中,我们不仅提供解决方案,......
  • 【Cpp 语言基础】vector像数组一样地初始化多个元素
    一般的vector的初始化有两种方式,push_back和(n,val)方式vector<int>vect;//一般方式vect.push_back(10);vect.push_back(20);//Createavectorofsizenwith//allvaluesas10.vector<int>vect(n,10);但是也可以像C语言的数组一样初始化://方式3:直接像数组一......
  • Day38 三种数组初始化及内存分析
    三种数组初始化及内存分析Java内存分析Java内存:1.堆存放new的对象和数组​可以被所有的线程共享,不会存放别的对象引用2.栈存放基本变量类型(会包含这个基本类型的具体数值)​引用对象的变量(会存放这个引用在堆里面的具体地址)3.方法区可以被......
  • Hzero教程:初始化数据库及同步表结构(基于liquibase + groovy)
    初始化数据库更新时间:2023-12-0115:38:30介绍项目创建成功之后,需要初始化本地数据库。在开发之前,请确保本地项目已经创建成功,详见创建项目创建用户确保数据库启动成功,并创建项目访问的用户。CREATEUSER'hzero'@'%'IDENTIFIEDBY"hzero";创建数据库用户创建成功之后,创建项目对......
  • React系列:react项目的创建到可以编写业务的一些列初始化
    ......
  • uniapp框架——初始化vue3项目(搭建ai项目第一步)
    文章目录⭐前言......
  • Feign源码解析:初始化过程(二)
    背景上一篇介绍了Feign源码初始化的一部分,内容主要是,@EnableFeignClients、@FeignClient这些注解,都支持设置一些自定义的配置类:[email protected]@Beandefinitionforthepiecesthatmakeuptheclient,forinstance......