问题标签 [storage-duration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - 空数组 NULL 的元素是否有价值?
我尝试了这个 Armstrong 程序,但发现自己被这个空数组的东西纠缠了。这个程序的工作一直困扰着我一段时间,但似乎仍然无法弄清楚这里有什么问题。是的,所以只是想问一个空或不完整数组的元素分配给什么值?它是 NULL 字符,即'\0'吗?我尝试在一个在线 C 编译器上检查它,这个断言似乎是正确的,但 GCC 告诉我们相反。我尝试了这种解决 Armstrong 问题的方法,这是我的代码:
我知道这个问题还有其他方法,但我正在寻找的是上述问题的答案。
c - 静态变量如何区分初始化和赋值
我知道静态变量在程序的整个运行时保持它们的值,即使在函数调用之间也是如此。给定下面的代码,考虑到 x 被声明为静态并初始化为零,打印的 x 的值是多少。using_static 函数如何在每次调用函数期间不将零分配给变量 x?
arrays - 指针函数返回数组地址,内存地址用循环或 ifs 清除
我正在尝试设置一个指针函数,该函数返回一个数组的第一个元素的地址,该数组本身存储在本地,然后在另一个函数上使用(在本例中为打印)内容。
当我通过静态语句引用它时,它可以正常工作,例如:
相反,当我继续尝试获得一个循环或做出决定时,它只是直截了当是行不通的。
PD:也出于某些邪恶的原因,它与 int 类型指针函数完美配合。
c - 我们是否总是必须为函数中的变量分配初始值?
在numberOfDigits
函数中,我没有为digits
变量赋值,因为默认情况下它是 0。但是在变量的printf
语句中digits
它被打印为 168。
digits
将零分配给变量后,我得到了预期的输出。所以,我的问题:是否有必要在用户定义函数中为变量赋值?如果是,为什么?
c - 添加两个对应的数组元素并返回结果数组
在以下代码中面临分段错误。任何人都可以帮我解决它吗?
输出应显示为
输入数组 1 和数组 2 的大小 >3
第一个数组>5 1 7
第二个数组> 2 4 2
结果 > 7 5 9
我的输出
输入数组 1 和数组 2 的大小 >3
第一个数组>5 1 7
第二个数组> 2 4 2
分段故障
c++ - 在 C++ 中返回一个数组而不获得悬空指针
我想从 C++ 中的函数返回一个数组。我做了这个简单的代码来尝试实现它。
它有效,但我收到此警告:
为什么如果我做std::vector<int> a[2]
静态我解决了警告?
是否有另一种方法可以从函数返回数组而没有悬空指针警告?
谢谢你。
c - 尝试深度复制结构时出现分段错误
我有这段代码,其中有一个选区数组,我希望将整个数组深度复制到一个新数组中。现在我也是,看来我这样做是正确的,但我一直收到这段代码的分段错误。有人能够发现我做错了什么吗?
据我所知,出错的是,在释放旧数组中的堆内存时,这以某种方式释放了存储在新数组中的新堆内存。但我真的不确定这是怎么回事?
主程序
选区.c
c - for循环中的三元运算符
所以我有以下代码:
我已经知道程序的输出中会写什么,但我的问题是为什么?如果您编辑字符串并进行细微更改,则输出保持不变,即:
c++ - char* 是用“...”创建的,new 分别在堆栈和堆上吗?如果我的理解是对还是错,只想要一个简短的答案?
我在上面的评论中添加了我的问题。提前致谢。