数组
- 数组名存放首元素地址
- &数组名和sizeof(数组名)表示整个数组
- char arr[] = "abc"; sizeof(arr) = 4; 内存中存放的是'a','b','c','\0';char arr[] = {'a', 'b', 'c'};szieof(arr) = 3;内存中存放的是'a','b','c';char *p = "abc";内存中存放的是"abc"
指针
注意
允许指向数组元素的指针与指向数组元素最后一个元素后面的那个位置的指针比较,但是不能与指向第一个元素之前的那个内存位置的指针比较
指针数组和数组指针
函数指针、函数指针数组和函数指针的数组的指针
- 函数指针(void (*pf) ()):指向函数的指针
- 函数指针数组(int (*pfarr[n]) ()):代表有n个函数指针
- 函数指针的数组的指针((*(*pffarr)[n]) () = &pfarr):指向函数指针数组的指针