指向数组的指针
如果指针变量指向数组的第一个元素,该指针称为指向数组的指针。
C 语言规定:
数组变量的本质就是一个指针常量,保存了指向第一个数组元素的指针。
数组中第一个元素的地址称为数组的首地址,数组的首地址会被当成数组的地址。简单说,就是数组变量保存了数组的首地址。
示例代码:
#import <Foundation/Foundation.h>
int main(int argc , char * argv[])
{
@autoreleasepool{
int arr[] = {
4, 20 , 10 , -3, 34};
// 将arr第一个数组元素的地址赋给指针变量p
int* p = &arr[0];
// 将arr数组变量当成指针输出
NSLog(@"%p" , arr);
// 输出指针变量p
NSLog(@"%p" , p);
}
}
编译运行以后,输出的结果总是相同的。
获取数组的首地址的方式有2种:
获取数组的首地址的方式有2种:
-int* p=&arr[0];
将数组的第一个元素的地址赋值给指针变量p;
- int* p=arr;
将数组变量保存的地址赋值给指针变量 p;
大部分时候,我们都是采用第二种方式获取数组首地址。
指针运算
对指针变量最常用的操作是赋值。但 C 语言并不允许