在C/C++中
所有的数组都可以当做指针来使用或者访问,当然和真正的指针还是有一些区别的
一般来说,int a[10] 这样的一维数组,在特定情况下,比如作为函数参数 会退化为一维指针int *
类似的,int a[5][6]这样的二维数组也可以当做是二维指针,int **但是访问的时候限制就更多了。
在C/C++中,不同类型的变量,都可以在一定的转换模式下进行赋值,比如int 赋值给char,在丢失高位情况下就可以做到
指针之间同样可以进行赋值
比如int *型赋值给char *型
但是,由于指针的特殊性,一般不建议指针之间跨类型赋值 会引起混乱
比如char * a, *b; a= b这样的操作是完全合法的
而char *a; int *b; a = b这样的操作就是不推荐的。 编译器一般会报warning, 如果你执意这样做 系统也允许