linuxidc@ubuntu:Practice$ cat main2.c
#include<stdio.h>
void main() {
int a[]={1,2,3,4,5,6};
printf("a[5]=%-5d 5[a]=%-5d\n",a[5],5[a]);
}
linuxidc@ubuntu:Practice$ gcc main2.c -o main2
linuxidc@ubuntu:Practice$ ./main2
a[5]=6 5[a]=6
linuxidc@ubuntu:Practice$
我记得这个好像曾经是MIT的C语言考试题目,考察对C语言数组实质的理解。即a[5]将转换为*(a+5),所以和5[a]的*(5+a)的值相同。
将C语言梳理一下,分布在以下10个章节中:
Linux-C成长之路(一):Linux下C编程概要
Linux-C成长之路(十):其他高级议题