【C语言】数组和指针相关 * 和 总结大全
生活随笔
收集整理的這篇文章主要介紹了
【C语言】数组和指针相关 * 和 总结大全
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總結大全
- a:數組首元素地址
- &a:數組首元素的地址
- &a[0]:數組首元素的地址
- *a:數組首元素的值
- *(a+n):數組第(n+1)個元素(index為n的元素)的值
- a+n:數組首元素的地址加上n個元素的字節數
- &a+n:數組首元素的地址加上n倍數組的字節數
- *(&a+1):數組首元素的地址加上整個數組的字節數,和(&a+1)一樣,相當于數組末尾地址+1
- *(&a+1)-n:數組倒數第n個元素的地址
- *(*(&a+1)-n):數組倒數第n個元素的值
驗證代碼
#include <stdio.h> int main() {int a[8] = {1, 2, 4, 8, 16, 32, 64, 128};// TEST1printf("測試1:\n%d\n", a);// TEST2printf("測試2:\n%d\n", *a);// TEST3printf("測試3:\n%d\n", &a[0]);// TEST4printf("測試4:\n%d\n", &a);// TEST5printf("測試5:\n%d\n%d\n", *(a+1), *(a+3));// TEST6printf("測試6:\n%d\n%d\n", (a+2), (a+5));// TEST7printf("測試7:\n%d\n%d\n%d\n", (&a+1), (&a+2), (&a+3));// TEST8printf("測試8:\n%d\n", *(&a+1));// TEST9printf("測試9:\n%d\n%d\n%d\n", *(&a + 1)-1, *(&a + 1)-2, *(&a + 1)-3);// TEST10printf("測試10:\n%d\n", *(*(&a + 1)-1));return 0; }測試結果
測試1: 6422016 測試2: 1 測試3: 6422016 測試4: 6422016 測試5: 2 8 測試6: 6422024 6422036 測試7: 6422048 6422080 6422112 測試8: 6422048 測試9: 6422044 6422040 6422036 測試10: 128總結
以上是生活随笔為你收集整理的【C语言】数组和指针相关 * 和 总结大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【JVM】javap命令行分析(a++
- 下一篇: 【Git】处理 Unable to ac