标签: declaration

是 char s[] = {"ABC"}; 合法的?

#include <stdio.h>
int main(){
    char s[] = {"hello"};
    printf("%s", s);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这段代码可以编译并成功执行,但是如何将一维数组(char[] s)赋值为二维数组({"hello"})呢?

c arrays declaration string-literals list-initialization

1
推荐指数
1
解决办法
179
查看次数

C宏写一个堆栈变量长度结构?

我不知道这是否可行,但我想编写一个在堆栈上声明可变长度结构的宏.我想做这样的事情:

#define STATICLIST(max)       struct SStaticList { int iSize; id iObjects[max]; }
Run Code Online (Sandbox Code Playgroud)

并称之为:

STATICLIST(32) Size32List
STATICLIST(64) Size64List
Run Code Online (Sandbox Code Playgroud)

但我正在重新声明类型struct SStaticList错误

c variables macros declaration list

0
推荐指数
1
解决办法
283
查看次数

声明解释 - (IBAction)changeGreeting:(id)sender; 苹果手机

他们在哪里说IBAction是什么,但不解释整个声明的含义.

什么是发件人和身份证?

此致,Namratha

iphone declaration objective-c ibaction ios

0
推荐指数
1
解决办法
2572
查看次数

首选声明指针/引用变量的方法?

注意:我正在使用g ++编译器(我听说这是非常好的,并且应该非常接近标准).

不是试图开始语法战,而只是一个随机的问题......声明指针的理想方式是什么?

int* pI = 4;
int *pI = 4;
Run Code Online (Sandbox Code Playgroud)

(或者我最喜欢的,我知道它不漂亮,但我喜欢它):

int*pI = 4;
Run Code Online (Sandbox Code Playgroud)

同样的问题代表参考:

int& rI = 4;
int &rI = 4;
Run Code Online (Sandbox Code Playgroud)

要么

int&rI = 4;
Run Code Online (Sandbox Code Playgroud)

也许没有正确的答案.同样,我应该关心是否将常量整数声明为:

const int I = 4;
Run Code Online (Sandbox Code Playgroud)

要么

int const I = 4;
Run Code Online (Sandbox Code Playgroud)

我没关心......

我喜欢通过在最后一个括号后面使用const来声明const函数的方式.

我相信常量函数具有与类似的非const函数不同的函数签名(即,const-nesss是函数签名的一部分,不像大多数来源说它只取决于参数类型和返回类型).

这是正确的吗?我应该关心吗?

c++ pointers reference declaration

0
推荐指数
1
解决办法
492
查看次数

java数组声明

当我调用我的类的构造函数时,我得到注释中显示的错误(当我删除数组部分时,一切都很顺利).这是因为数组的错误声明seq吗?

public class FibIt implements SeqIt{
    public int counter;
    public int ptr;
    public int [] seq;

    public FibIt(Fib x)
    {   counter=0;
        ptr=0;
        seq[0]=x.first1;         //gives me an error here saying Exception in 
                                     //thread "main" java.lang.NullPointerException
                                 //at FibIt.<init>(FibIt.java:9)
                                     //at Main.main(Main.java:6)
        seq[1]=x.first2;
        for (int i=2; seq[i-1]<=x.last; i++)
            {seq[i]=seq[i-1]+seq[i-2];}
    }
    @Override
    public int func2() {
        // TODO Auto-generated method stub
        ptr++;
        return seq[ptr-1];
    }

}
Run Code Online (Sandbox Code Playgroud)

java arrays declaration

0
推荐指数
1
解决办法
367
查看次数

C中的内存分配/释放

我知道在c语言中,我需要在分配后释放内存.(我来自java),对此我有几个问题:

  1. 当我在做的时候:

    int array[30];      
    
    Run Code Online (Sandbox Code Playgroud)

    (即创建一个大小为30的整数数组)这与做什么一样?

    int array[] = malloc(sizeof(int)*30);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 作为第一个问题的序列,当我在函数内部创建数组(即函数的本地数据而不是整个文件的全局数据)时,我是否需要在创建它的函数内释放此数组的内存?(我没有看到任何其他方法来释放它,因为我无法传递创建回main()函数的所有数组的引用).

所以简而言之,我想知道我何时需要为创建的对象/基元(在函数内部或外部)释放内存.

c arrays malloc declaration

0
推荐指数
2
解决办法
828
查看次数

我可以直接在"if"表达式中声明对象吗?

我试图只为表达式使用一个对象,但不确定是否可能:

if ((new (Random)).Next(0,1))
{

}
Run Code Online (Sandbox Code Playgroud)

这不起作用,我想知道它是否有可能?

c# declaration

0
推荐指数
1
解决办法
81
查看次数

如何调用此函数(没有定义)?

所以我试图抓住某人的代码(并且无法与他们联系),我不明白为什么他们这样做.他们像这样调用main中的函数:

LOG_AddFunction();
Run Code Online (Sandbox Code Playgroud)

此函数在头文件中定义,如下所示:

#define LOG_AddFunction()    LOG_Add(LOG_TYPE_NORMAL, "%s()", __FUNCTION__)
Run Code Online (Sandbox Code Playgroud)

然后LOG_Add在同一个头文件中定义:

extern int  LOG_Add(LOG_TYPE eType, const char *pcText, ...);
Run Code Online (Sandbox Code Playgroud)

似乎没有LOG_AddFunction函数的任何最终定义,我不明白为什么代码会调用它.有人可以对此有所了解吗?

c++ declaration function

0
推荐指数
1
解决办法
128
查看次数

使用常量(非文字)声明数组作为维度说明符

下面的代码可以工作,但是为了方便地改变数组的大小和循环的索引范围,变量max可以用来指定数组的维数吗?

fn main() {
    let max: i64 = 3;

    let mut arr2: [[f64; 3]; 3] = [[0.0; 3]; 3]; //replace 3 by max?
    // let mut arr2: [[f64; max]; max] = [[0.0; max]; max]; //does not work

    let pi: f64 = 3.1415926535;
    let max2 = max as usize;

    for ii in 0..max2 {
        for jj in 0..max2 {
            let i = ii as f64;
            let j = jj as f64;
            arr2[ii][jj] = ((i + j) * pi * …
Run Code Online (Sandbox Code Playgroud)

arrays indexing declaration rust

0
推荐指数
1
解决办法
71
查看次数

C++.可以做到这一点而不会出现错误:'未在此范围内声明'

C++.是否有可能做到这一点?

if (x>3)
 int foo=10
else
 long foo=10
Run Code Online (Sandbox Code Playgroud)

没有得到错误:

在这方面没有申明

c++ variables if-statement declaration

0
推荐指数
1
解决办法
129
查看次数