我的功能是public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager()
.beginTransaction()
.replace(R.id.frame, new Frag())
.commit();
}
}
}
我想把它称为void x(int *y);
或x(&6);
,我不想定义一个整数并给它分配6,我想要单行。
答案 0 :(得分:4)
您需要的是compound literals
#include <stdio.h>
void x(const int *y)
{
printf("%d\n", *y);
}
int main(void)
{
x(&(int){6});
return 0;
}
答案 1 :(得分:3)
这可以使用复合文字来完成:
x((int []){6});
或更简单:
x(&(int){6});
当然,被调用的函数不能对指向数据的寿命做出任何假设,因为它会在调用返回时消失。