码迷,mamicode.com
首页 > 编程语言 > 详细

《C专家编程》学习记录——指针和数组相同的地方

时间:2020-01-07 13:31:41      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:code   操作   地方   ansi   span   不用   原因   nbsp   col   

一、在普通的表达式中 

  先看一段简单的代码

char a[8];

a[3]=9;
3[a]=2;
printf("a[3] = %d\r\n", a[3]);
printf("3[a] = %d\r\n", 3[a]);

结果是:

a[3] = 2
3[a] = 2

原因:表达式中的数组名被编译器当做一个指向该数组第一个元素的指针(ANSI C标准),即在表达式中,指针和数组是可以互换的,因为他们在编译器里的最终形式都是指针,并且都可以进行取下标操作。就像加法一样,取下标操作符的操作数是可以交换的,所以表达式使用中,a[3]和3[a]两种形式都是正确的。(只为理解表达式中数组被编译器当做指向数组第一个元素的指针,实际不用)

《C专家编程》学习记录——指针和数组相同的地方

标签:code   操作   地方   ansi   span   不用   原因   nbsp   col   

原文地址:https://www.cnblogs.com/keepdoing123/p/12160730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!