指针数组 与 数组指针 的分析
生活随笔
收集整理的這篇文章主要介紹了
指针数组 与 数组指针 的分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組指針:即指向數組的指針(也稱行指針)。
指針數組:即用于存儲指針的數組,也就是數組元素都是指針。
數組指針示例:?
int (*p)[n];()優先級高,首先說明p是一個指針,指向一個整型的一維數組,這個一維數組的長度是n。執行p+1時,p要跨過n個整型數據的長度。
指針數組示例:
int *p[n];[]優先級高,先與p結合成為一個數組,再由int*說明這是一個整型指針數組,它有n個指針類型的數組元素。
演示代碼:
#include <iostream>using namespace std;int main() { int c[4]={1,2,3,4}; int *a[4]; //指針數組 int (*b)[4]; //數組指針 b=&c; //將數組c中元素賦給數組a for(int i=0;i<4;i++) { a[i]=&c[i]; } //輸出結果 cout<<*a[1]<<endl; //輸出2 cout<<(*b)[2]<<endl; //輸出3 return 0; }注意:定義了數組指針,該指針指向這個數組的首地址,必須給指針指定一個地址,容易犯的錯得就是,不給b地址,直接用(*b)[i]=c[i]給數組b中元素賦值,這時數組指針不知道指向哪里,調試時可能沒錯,但運行時肯定出現問題,使用指針時要注意這個問題。但為什么a就不用給他地址呢,a的元素是指針,實際上for循環內已經給數組a中元素指定地址了。但若在for循環內寫*a[i]=c[i],這同樣會出問題。總之一句話,定義了指針一定要知道指針指向哪里,不然要悲劇。
轉載于:https://www.cnblogs.com/fengty90/p/3768849.html
總結
以上是生活随笔為你收集整理的指针数组 与 数组指针 的分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#_完整的RSA操作类
- 下一篇: LDAP 相关链接