C++中的数组和指针
1 #include <iostream> 2 #include <set> 3 4 using namespace std; 5 6 int main() 7 { 8 int k[][2] = {10,20,30,40,50,60}; 9 int (*p)[2]; 10 p = k; 11 cout<<p[0][0]<<','<<*(p[0]+1)<<','<<*p[2]<<endl; 12 13 return 0; 14 }
输出:10,20,50
C语言 | 英语的表达 | 中文的表现 |
int hoge; | hoge is int | hoge是int |
int hoge[10]; | hoge is array(元素数10) of int | hoge是int的数组(元素数10) |
int hoge[10][3]; | hoge is array(元素数10) of array(元素数3) of int | hoge是int数组(元素数10)的数组(元素数3) |
int *hoge[10]; | hoge is array(元素数10) of pointer to int | hoge是指向int的指针的数组(元素数10) |
int (*hoge)[3]; | hoge is pointer to array(元素数3) of double | hoge是指向int的数组(元素数3)的指针 |
int func(int a); | func is function(参数为int a) returning int | func是返回int的函数(参数是int a) |
int (*func)(int a) | func is pointer to function(参数为int a) returning int | func_p是指向返回int的函数(参数为int a)的指针 |
参考资料:
《征服C指针》(http://avnpc.com/pages/c-pointer)