请教c语言一维指针(字符串)数组和二维字符数组的区别


char arr[][3]={{‘a’,’b’,’\0’},{‘b’,’c’,’\0’}};
char* arr[3]={“ab”,“bc”};
char* arr[3]={{‘a’,’b’,’\0’},{‘b’,’c’,’\0’}};

请问这三个初始化有什么区别吗? 使用起来是一模一样的吗?