我想知道是否有任何方法可以在函数调用中保留结构的成员值,以防结构是局部的。在原始数据类型的情况下,我们将它们声明为静态的,并且数据将在函数调用中保留。如果结构定义在调用部分或定义为全局变量,我知道我们可以保留它。但我只是好奇是否有其他方法可以跨函数调用保留本地结构值。
struct A
{
int mem1;
}
void f1(void)
{
struct A var1;
/*Now this var1 is a local variable. Declaring it as static will not help to retain value of mem1 acro
我刚刚遇到了一些代码,我不知道为什么会这样做。
请注意,这是非常老的代码,因此for (auto i : x)不是一个选项。
守则是:
INT_PTR i,c;
for(i=0,c=m_array.GetSize();i<c;i++)
{
// Do stuff, i & c are not changed inside the loop
}
就像我本来要做的那样(好吧,我会使用单字母变量,但这是另一个论点:
const INT_PTR c = m_array.GetSize();
for (INT_PTR i = 0; i < c; i++)
{
// do st
我想知道一个单词是否包含数字和字符,如果包含数字和字符,则将数字部分和字符部分分开。我想查一下泰米尔语的单词,比如:ரூ.100或ரூ100。我想把ரூ.和100,ரூ和100分开。我在蟒蛇里怎么做呢?我试过这样做:
for word in f.read().strip().split():
for word1, word2, word3 in zip(word,word[1:],word[2:]):
if word1 == "ர" and word2 == "ூ " and word3.isdigit():
假设我有一个函数来声明和初始化两个局部变量--默认情况下,这两个局部变量的存储时间为auto。然后,该函数调用第二个函数,将这两个局部变量的地址传递给该函数。第二个函数能安全地使用这些指针吗?
为了补充这一描述,一个简单的编程示例:
#include <stdio.h>
int adder(int *a, int *b)
{
return *a + *b;
}
int main()
{
auto int a = 5; // `auto' is redundant; included for clarity
auto int b = 3;