《C专家编程》学习记录——指针和数组相同的地方
Posted keepdoing123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《C专家编程》学习记录——指针和数组相同的地方相关的知识,希望对你有一定的参考价值。
一、在普通的表达式中
先看一段简单的代码
char a[8];
a[3]=9;
3[a]=2;
printf("a[3] = %d
", a[3]);
printf("3[a] = %d
", 3[a]);
结果是:
a[3] = 2 3[a] = 2
原因:表达式中的数组名被编译器当做一个指向该数组第一个元素的指针(ANSI C标准),即在表达式中,指针和数组是可以互换的,因为他们在编译器里的最终形式都是指针,并且都可以进行取下标操作。就像加法一样,取下标操作符的操作数是可以交换的,所以表达式使用中,a[3]和3[a]两种形式都是正确的。(只为理解表达式中数组被编译器当做指向数组第一个元素的指针,实际不用)
以上是关于《C专家编程》学习记录——指针和数组相同的地方的主要内容,如果未能解决你的问题,请参考以下文章