char (*a())[8] 是什么
2012-06-01 12:41
148 查看
也是C语言论坛看到的
分析:
1. a是标识符,所以先看包涵标识符的括号,先看 (*a())
● (*a())中标识符的右边是小括号(),这个后缀表示a 是一个函数
● (*a())中标识符的左边是星号*,这个前缀表示a 函数返回一个指针
2. 把(*a()) 作为整体,姑且称作标识符T,重复[1] 的步骤,分析char T[8]
● T的右边是中括号[],这个后缀表示T是一个数组
● T的左边是关键字char,表示T的类型是char
3. 分析完了,结论是:
● a是一个函数,这个数组返回值是一个指针,这个指针指向一个char类型的数组(当然这个指针也是一个char 指针)
结束,喵~
分析:
1. a是标识符,所以先看包涵标识符的括号,先看 (*a())
● (*a())中标识符的右边是小括号(),这个后缀表示a 是一个函数
● (*a())中标识符的左边是星号*,这个前缀表示a 函数返回一个指针
2. 把(*a()) 作为整体,姑且称作标识符T,重复[1] 的步骤,分析char T[8]
● T的右边是中括号[],这个后缀表示T是一个数组
● T的左边是关键字char,表示T的类型是char
3. 分析完了,结论是:
● a是一个函数,这个数组返回值是一个指针,这个指针指向一个char类型的数组(当然这个指针也是一个char 指针)
结束,喵~
相关文章推荐
- C++里面int char 各占 4、1字节 跟多字节 unicode 存储有什么关系?
- char varchar 有什么区别
- char varchar nchar nvarchar 四者的区别是什么(为何SQL Server自动给字符串末尾加空格)
- nvarchar和varchar,char,nchar有什么区别?
- char varchar nchar nvarchar 四者的区别是什么(为何SQL Server自动给字符串末尾加空格)
- typedef void (*comm_callback)(char*, int, void*); 是什么意思?
- char(10)和VARCHAR(10)主要的区别是什么?
- nt main(int argc,char*argv[])和int main()有什么区别?
- char str[]与char *str 有什么区别?
- int main(int argc, char*argv[])是什么意思?什么时候用?
- nchar与char有什么区别?
- int main(int argc,char* argv[])详解,以及与int main()有什么区别
- 在MySQL中,VARCHAR与CHAR的区别是什么?VARCHAR(50)中的50代表的含义是什么?
- string 和 char *两者的区别是什么 ?什么时候用string好? 什么时候用 char * 合适?什么时候同时都能用?
- java中 char a=(char)(64+i);是什么意思啊
- char* s="AAA"; printf("%s",s); s[0]='B'; printf("%s",s); 有什么错?如何改
- OC中, unichar跟char有什么不同?unichar 是什么?
- char varchar nchar nvarchar 四者的区别是什么
- varchar2(10 byte)和varchar2(10 char)有什么不同
- MySQL 数据库中的字段类型 varchar 和 char 的主要区别是什么?哪 种字段的查找效率要高,为什么?