[c专家编程学习] 深入数组1
什么时候数组和指针相同:
数组: 1. 声明 (1) extern, 如 extern char a[]; 不能改写成指针的形式
(2) 定义, 如char a[10]; 不能改写成指针的形式
(3) 函数的参数,如func(char a[]); 你可以随自己喜欢, 选择数组形式或者是指针形式
2. 在表达式中使用: 如 c = a[i];你可以随自己喜欢, 选择数组形式或者是指针形式
然而,数组和指针在编译器处理时是不同的,在运行时的表示形式也是不一样的,并可以产生不同的代码。对编译器而言,一个数组就是一个地址,一个指针就是一个地址的地址。
什么时候数组和指针相同:
数组: 1. 声明 (1) extern, 如 extern char a[]; 不能改写成指针的形式
(2) 定义, 如char a[10]; 不能改写成指针的形式
(3) 函数的参数,如func(char a[]); 你可以随自己喜欢, 选择数组形式或者是指针形式
2. 在表达式中使用: 如 c = a[i];你可以随自己喜欢, 选择数组形式或者是指针形式
然而,数组和指针在编译器处理时是不同的,在运行时的表示形式也是不一样的,并可以产生不同的代码。对编译器而言,一个数组就是一个地址,一个指针就是一个地址的地址。
本文探讨了数组与指针在不同场景下的应用及其差异。详细分析了数组在声明、定义及作为函数参数时的表现,同时指出尽管在某些情况下两者表现相似,但在编译器处理上存在本质区别。
845

被折叠的 条评论
为什么被折叠?



