本文共 378 字,大约阅读时间需要 1 分钟。
1. 指针和素组的访问过程
1.1 数组访问数据过程
首地址加上偏移量,然后取出地址内容。
1.2. 指针访问数据过程
从指针变量取出保存的地址,取出地址中保存的数据。
1.3. 指针使用下标访问数据
首先取出指针变量的地址,然后与偏移量i相加,最后取出改地址的内容。
2. 当数组和指针作为函数的形参时,数组和纸指针相同。
3. char a[] = "abcd";
a的地址和a[0]的地址相同,但是类型不同。a的地址的类型为char (*)[],a[0] 的地址的类型为 char*。
测试程序
测试程序结果
可以看到a[0]的地址和a的地址相同,因为&a[0]的类型为char *所有&a[0]+1的地址比&a[0]的地址大1。而&a + 1的类型为char (*a)[]其加一的偏移量为char []的长度(这里是6),所以b+1的结果比b大6。
转载地址:http://uyftb.baihongyu.com/