运行此时出现分段错误,但没有错误。 我试图将指针传递给一个指针数组,将其初始化为一个指针数组,填充数组和调用函数可用的数据。
static void test4(int ***arr)
{
int *values = (int *) MEM_mallocN(sizeof(int) * 3, "*values");
values[0] = 0;
values[1] = 1;
values[2] = 2;
*arr = (int **) MEM_mallocN(sizeof(int *) * 3, "*arr");
*arr[0] = &values[0];
*arr[1] = &values[1];
*arr[2] = &values[2]; /* this line causes crash */
}
static void test3(void)
{
int **arr = NULL;
test4(&arr);
for (int i = 0; i < 3; i++) {
printf("arr[%d] = %p \n", i, arr[i]);
}
for (int i = 0; i < 3; i++) {
printf("arr[%d] = %d \n", i, *arr[i]);
}
}
答案 0 :(得分:2)
看来你的意思是
public class SplashScreen extends AppCompatActivity {
// Splash screen timer
private static int SPLASH_TIME_OUT = 2000;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
//showing splash screen for desired time
new Handler().postDelayed(new Runnable() {
/*
* Showing splash screen with a timer. This will be useful when you
* want to show case your app logo / company
*/
@Override
public void run() {
// This method will be executed once the timer is over
// Start your app main activity
Intent i = new Intent(SplashScreen.this, Login.class);
startActivity(i);
// close this activity
finish();
}
}, SPLASH_TIME_OUT);
}}
后缀下标operator []的优先级高于一元运算符*。