当前位置: 首页 > 知识库问答 >
问题:

为什么int*ptr_arr_int={1,2};不能用C/C++吗?

穆正青
2023-03-14
int* ptr_arr_int = {1,2};         // ->ERROR
char* ptr_arr_char = "amruth";    // ->OK

共有1个答案

简滨海
2023-03-14

这仅仅是因为语言语法这样说。关于数组:

  • 我们必须用大括号括起来的列表{...}初始化数组,不能再包含适合数组的项。
  • 作为一个特殊规则,char数组可以使用字符串文字“...”初始化。

但是,您的代码中没有数组,只有指针。

    null
int arr[2] = {1,2};
int* ptr_arr_int = arr;
 类似资料:
  • 问题内容: 我试图编译以下代码: 当我尝试编译时,它抛出: 错误:(5,41)Java:不兼容的类型:可能从int到char的有损转换 问题是,它的工作,如果我写,或。 我检查了一下,尝试时编译器抛出了类似的错误,但是我看不到’c’的值可以在原始函数中通过’char’类型的最大值。 问题答案: 是一个,因为操作数经过二进制数值提升: 是一个 是一个 因此必须扩展以使其兼容添加;表达式的结果是。 至

  • 问题内容: 我正在尝试创建 在Java中,但这不起作用。 有人可以解释为什么类型参数不起作用吗? 将类用于原始作品,但是有人可以解释为什么不被接受吗? Java 1.6版 问题答案: Java泛型与C ++模板有很大不同,因此我不会在这里列出差异。(有关更多详细信息,请参见C++和Java中“通用”类型之间的区别是什么。) 在这种特殊情况下,问题在于您不能将基元用作泛型类型参数(请参见JLS§4.

  • 在C中不使用sizeof查找数组大小的问题中,asker将int数组视为int数组的数组,方法是获取地址,然后指定数组索引为1:

  • 在给vs的一般处理程序设置断点时,能给程序点入断点,后面浏览器执行程序断点变成白色圆圈,程序继续往下进行断点恢复原样,此过程中断点未执行,根本就没有进入调试 代码无问题,无报错,与数据库连接也正常,但是就是获取不到数据。 设置断点也无效,换了浏览器也没用,因为是别人的代码直接复制过来,也特别去把要求与源代码格式一致的复选框去掉了。 题目来源及自己的思路 相关代码 粘贴代码文本(请勿用截图) 你期待

  • 问题内容: 我不能为这个怪癖全神贯注。 我知道,但是我找不到正在执行的类型或操作。 问题答案: 第二个不能是数组,因此是数组下标操作。下标操作的内容不是操作数的分隔列表,而是单个表达式。

  • 本文向大家介绍为什么在JavaScript中[1,2] + [3,4] =“ 1,23,4”?,包括了为什么在JavaScript中[1,2] + [3,4] =“ 1,23,4”?的使用技巧和注意事项,需要的朋友参考一下 JavaScript的+运算符用于添加两个数字或连接两个字符串。但是,使用该方法可以将两个数组连接起来以获得一个新数组。例如, 上面的照片, 让我们看看您的示例。+运算符连接字