#include <stdio.h>
int main(){
char s[] = {"hello"};
printf("%s", s);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这段代码可以编译并成功执行,但是如何将一维数组(char[] s)赋值为二维数组({"hello"})呢?
我不知道这是否可行,但我想编写一个在堆栈上声明可变长度结构的宏.我想做这样的事情:
#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错误
他们在哪里说IBAction是什么,但不解释整个声明的含义.
什么是发件人和身份证?
此致,Namratha
不是试图开始语法战,而只是一个随机的问题......声明指针的理想方式是什么?
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是函数签名的一部分,不像大多数来源说它只取决于参数类型和返回类型).
这是正确的吗?我应该关心吗?
当我调用我的类的构造函数时,我得到注释中显示的错误(当我删除数组部分时,一切都很顺利).这是因为数组的错误声明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) 我知道在c语言中,我需要在分配后释放内存.(我来自java),对此我有几个问题:
当我在做的时候:
int array[30];
Run Code Online (Sandbox Code Playgroud)
(即创建一个大小为30的整数数组)这与做什么一样?
int array[] = malloc(sizeof(int)*30);
Run Code Online (Sandbox Code Playgroud)作为第一个问题的序列,当我在函数内部创建数组(即函数的本地数据而不是整个文件的全局数据)时,我是否需要在创建它的函数内释放此数组的内存?(我没有看到任何其他方法来释放它,因为我无法传递创建回main()函数的所有数组的引用).
所以简而言之,我想知道我何时需要为创建的对象/基元(在函数内部或外部)释放内存.
我试图只为表达式使用一个对象,但不确定是否可能:
if ((new (Random)).Next(0,1))
{
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,我想知道它是否有可能?
所以我试图抓住某人的代码(并且无法与他们联系),我不明白为什么他们这样做.他们像这样调用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函数的任何最终定义,我不明白为什么代码会调用它.有人可以对此有所了解吗?
下面的代码可以工作,但是为了方便地改变数组的大小和循环的索引范围,变量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) C++.是否有可能做到这一点?
if (x>3)
int foo=10
else
long foo=10
Run Code Online (Sandbox Code Playgroud)
没有得到错误:
在这方面没有申明