什麼是指標數組?

這是一個推薦產品對話框
熱門建議
開始於
檢視全部 >
Language
French
English
ไทย
German
繁體中文
國家/地區
你好
All
登入/建立帳戶
language Selector,${0} is Selected
Lenovo Pro 企業採購商店購物
於Lenovo教育商店註冊

專業層次福利

• 在Think日常價格上節省高達額外3%
• 消費滿NT$90,000,升級至Plus層次,享有更多福利

Plus層次福利

• 在Think日常價格上節省高達額外5%
• 消費NT$270,000,免費升級至享有更多福利的精英層次
精英層次福利
• 在Think日常價格上節省高達額外8%
經銷商福利
• 可獲得Lenovo的全部產品組合
• 配置和購買價格優於Lenovo.com
檢視所有詳情 >
再多達到
PRO Plus
PRO 精英
恭喜,您已達到精英地位!
Pro for Business
Delete icon Remove icon Add icon Reload icon
TEMPORARILY UNAVAILABLE
已停產
暫時無法使用
Cooming Soon!
. Additional units will be charged at the non-eCoupon price. Purchase additional now
We're sorry, the maximum quantity you are able to buy at this amazing eCoupon price is
登入或創建帳戶以儲存您的購物車!
Sign in or Create an Account to Join Rewards
檢視購物車
您的購物車是空的!
刪除
items in cart
快來選購優惠商品
Some items in your cart are no longer available. Please visit cart for more details.
has been deleted
Please review your cart as items have changed.
Contains Add-ons
繼續進行結帳
Popular Searches
您今天想找什麼?
Quick Links
Recent Searches
Hamburger Menu
跳至主要內容
{"arrowColor":"#000000","backgroundColor":"#e6f4fa","sideMsg":"","data":[{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Pagef11e2708-8f3e-4c33-9bbc-3f15d85c3d93","language":{"zh_tw":"%3Cp%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%E5%8A%A0%E5%85%A5%20Lenovo%20Pro%20%E5%8D%B3%E5%8F%AF%E4%BA%AB%E9%AB%98%E9%81%9492%E6%8A%98%E8%BF%8E%E6%96%B0%E5%84%AA%E6%83%A0%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%E4%BE%86%E9%9B%BB%E8%AB%8B%E6%92%A5%2000801-601-372%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Fbusiness%2Fbenefits%2F%3FipromoID%3Dhellobar_01_lpro_learn%22%20target%3D%22_blank%22%20textvalue%3D%22%E5%85%8D%E8%B2%BB%E5%8A%A0%E5%85%A5%22%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%20text-decoration%3A%20underline%3B%22%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3Cstrong%3E%E5%85%8D%E8%B2%BB%E5%8A%A0%E5%85%A5%3C%2Fstrong%3E%3C%2Fspan%3E%3C%2Fa%3E%3C%2Fp%3E","en":"","zh":""},"id":"Pagef11e2708-8f3e-4c33-9bbc-3f15d85c3d93"},"gInfo":""},{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Pageb2d825ae-3905-4ed3-9af1-3fa659b858c9","language":{"zh_tw":"%3Cp%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%E5%8A%A0%E5%85%A5%20Lenovo%20Edu%EF%BC%8C%E5%8D%B3%E4%BA%AB%E9%AB%98%E9%81%94NT%243%2C500%E8%BF%8E%E6%96%B0%E6%8A%98%E6%89%A3%3C%2Fspan%3E%3C%2Fp%3E%3Cp%3E%3Cspan%20style%3D%22text-wrap%3A%20wrap%3B%20color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%E4%BE%86%E9%9B%BB%E8%AB%8B%E6%92%A5%2000801-601-372%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Flenovo-edu%2Fstudent%2Fbenefits%2F%3FipromoID%3Dhellobar_02_edu%22%20target%3D%22_blank%22%20textvalue%3D%22%E5%85%8D%E8%B2%BB%E5%8A%A0%E5%85%A5%22%20style%3D%22text-decoration%3A%20underline%3B%20color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3Cstrong%3E%E5%85%8D%E8%B2%BB%E5%8A%A0%E5%85%A5%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3C%2Fspan%3E%3C%2Fa%3E%3C%2Fp%3E","en":"","zh":""},"id":"Pageb2d825ae-3905-4ed3-9af1-3fa659b858c9"},"gInfo":""},{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Pagecc2fe3eb-3a1a-4cfa-b3d7-e7bc3c728962","language":{"zh_tw":"%3Cp%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%E7%B2%BE%E9%81%B8%E5%9E%8B%E8%99%9F%E5%8F%AA%E8%A6%81%26nbsp%3B%3Cstrong%3E2%20%E5%88%B0%203%20%E5%80%8B%E5%B7%A5%E4%BD%9C%E5%A4%A9%3C%2Fstrong%3E%E5%85%A7%EF%BC%8C%E5%B0%B1%E8%83%BD%E6%BA%96%E5%82%99%E5%B0%B1%E7%B7%92%EF%BC%8C%E8%A8%AD%E5%AE%9A%E5%AE%8C%E7%95%A2%EF%BC%8C%E5%86%8D%E5%B0%87%E5%80%8B%E4%BA%BA%E9%9B%BB%E8%85%A6%E9%80%81%E5%88%B0%E6%82%A8%E6%89%8B%E4%B8%AD%EF%BC%81%E5%85%A8%E7%AB%99%E5%85%8D%E9%81%8B%E8%B2%BB%EF%BC%8C%E7%84%A1%E6%9C%80%E4%BD%8E%E6%B6%88%E8%B2%BB%E9%99%90%E5%88%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%22text-wrap%3A%20wrap%3B%22%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%E4%BE%86%E9%9B%BB%E8%AB%8B%E6%92%A5%2000801-601-372%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Fd%2Fdeals%2Fquickship-laptops%2F%3FipromoID%3Dhellobar_03_quickship%22%20target%3D%22_blank%22%20textvalue%3D%22%E7%AB%8B%E5%8D%B3%E8%B3%BC%E8%B2%B7%22%20style%3D%22text-decoration%3A%20underline%3B%20color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3Cstrong%3E%E7%AB%8B%E5%8D%B3%E8%B3%BC%E8%B2%B7%3C%2Fstrong%3E%3C%2Fspan%3E%3C%2Fa%3E%3C%2Fp%3E","en":"","zh":""},"id":"Pagecc2fe3eb-3a1a-4cfa-b3d7-e7bc3c728962"},"gInfo":""},{"pcInfo":"","mAndTabInfo":"","bannerInfo":{"t_id":"Pagee4436141-976e-43d0-b4eb-2d501d1b69a4","language":{"zh_tw":"%3Cp%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3E%E3%80%90%E5%B9%B4%E4%B8%AD%E5%A4%A7%E4%BF%83%E5%8B%81%E6%B8%9B%E3%80%91%3C%2Fstrong%3E%20%E7%AD%86%E9%9B%BB%E4%BD%8E%E8%87%B36%E6%8A%98!%20%E4%BD%BF%E7%94%A8%E5%84%AA%E6%83%A0%E7%A2%BC%20%26%2339%3BMIDYEARTW%26%2339%3B%20%E9%A1%8D%E5%A4%96%E6%9C%80%E5%A4%9A%E6%B8%9BNT%243%2C888%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3C%2Fspan%3E%3Ca%20href%3D%22%2Fd%2Fnotebook-recommendation%2F%3FipromoID%3Dhellobar_sitewide_promo%22%20target%3D%22_blank%22%20title%3D%22%E6%89%80%E6%9C%89%E5%84%AA%E6%83%A0%22%20textvalue%3D%22%E6%89%80%E6%9C%89%E5%84%AA%E6%83%A0%22%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%20text-decoration%3A%20underline%3B%22%3E%3Cspan%20style%3D%22color%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3Cstrong%3E%E6%9C%83%E5%93%A1%E7%8E%87%E5%85%88%E6%90%B6%E8%B3%BC%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3Cstrong%3E%3C%2Fstrong%3E%3C%2Fspan%3E%3C%2Fa%3E%3C%2Fp%3E","en":"","zh":""},"id":"Pagee4436141-976e-43d0-b4eb-2d501d1b69a4"},"gInfo":""}],"autoRun":true,"displayTerminal":"pc,tablet,mobile"}

什麼是指標數組?

指標數組是一種資料結構,其中數組的元素是指標。數組中的每個元素不是直接保存數據,而是保存另一個數據元素的記憶體位址(指標)。這允許創建一個數組,其中每個元素可以指向記憶體中的不同位置,通常指向其他變數或資料結構。它允許您透過一個陣列管理多個記憶體位置,並且通常用於 C 和 C++ 等語言。

如何宣告指標數組?

若要宣告指標數組,您需要先指定指標類型,然後指定數組名稱及其大小。在 C 或 C++ 中,您可能會執行類似 int *arr[5]; 的操作,它會宣告一個由 5 個整數指標組成的陣列。

我可以在聲明時初始化指標數組嗎?

是的,您可以在宣告時初始化指標數組。例如,您可以寫 int *arr[] = {&x, &y, &z};其中 x、y、z 是程式碼中已宣告的整數。這將在陣列中儲存 x、y、z 的位址。

指標數組的常見用例有哪些?

當您使用字串、動態記憶體分配或要建立不同大小的陣列的陣列時,指標數組特別有用。它們對於函數指標也很方便,允許您透過陣列元素呼叫不同的函數。

數組大小必須固定嗎?

在 C 和 C++ 等語言中,陣列的大小應在編譯時固定,除非您正在處理動態記憶體分配。然而,在某些現代語言中,陣列可以動態調整大小,但從技術上講,它們並不是 C/C++ 意義上的指標數組。

如何存取數組中指標所指向的值?

若要存取數組中指針指向的值,請先使用數組索引來存取指針,然後使用取消引用運算子來取得值。在 C/C++ 中,*arr[2] 會取得數組 arr 中第三個指標所指向的值。

我可以有一個指向數組的指標數組嗎?

是的,您可以擁有一個指向陣列的指標數組。在此設定中,陣列中的每個指標都指向另一個陣列的第一個元素。這是創建鋸齒狀數組的一種方法,其中“行”可以具有不同的長度。

指標數組可以是多維的嗎?

當然,您可以擁有一個多維指標數組。這看起來有點複雜,但可以將其視為數組的數組,其中每個內部數組本身就是一個指標數組。您可以使用多個方括號來存取元素,例如 arr[2][3]。

什麼時候使用指標數組而不是常規數組會更有利?

當您有不同大小或類型的元素時,指標數組是有利的。此外,如果您指向大型資料結構,則儲存指標而不是結構本身可以更節省記憶體。

如何對指標數組進行排序?

您可以像常規數組一樣對指標數組進行排序,但您要對它們指向的位址而不是值進行排序。如果要按指向的值排序,則需要在排序演算法中進行比較期間取消引用指標。

指標數組可以與結構一起使用嗎?

是的,指標數組可以指向結構體。當您有一組複雜的資料類型時,通常會這樣做。然後,您可以透過指標存取結構體成員,例如 arr[i]->member。

如何釋放分配給指標數組的記憶體?

如果您動態分配了數組中的指標指向的內存,則需要循環遍歷數組並在 C 中對每個指標使用 free() 或在 C++ 中使用 delete。之後,如果陣列也是動態分配的,則可以釋放它本身。

是否可以有一個函數指標數組?

當然,函數指標數組是透過數組索引呼叫不同函數的巧妙方法。陣列中的每個元素都指向一個函數,您可以使用陣列索引和括號來呼叫它,例如 arr[2](args)。

如何將指標數組傳遞給函數?

若要將指標陣列傳遞給函數,請定義函數參數以符合陣列的類型和大小(可選)。在 C/C++ 中,接受整數指標陣列的函式可能類似 void myFunction(int *arr[], int size)。

如果數組中的指標指向無效內存,會發生什麼情況?

如果數組中的指標指向無效內存,則訪問它將導致未定義的行為,其範圍可能從程式崩潰到細微的錯誤。始終確保指標已初始化並指向有效的記憶體位置。

如何遍歷指針數組?

遍歷指針數組與導航常規數組類似;你通常會使用循環。差別在於存取值的方式不同。當到達每個指標時,您將取消引用它以獲取它指向的值。這允許您對實際資料而不是記憶體位址執行操作。如果您指向結構或物件等複雜類型,則可以直接透過指標存取其成員,從而簡化流程。

使用指標數組比使用物件數組更有效嗎?

效率取決於用例。如果您正在使用的物件很大且只有少數物件經常訪問,則指標數組可以節省記憶體。您不是儲存完整副本,而是儲存位址,這些位址通常要小得多。缺點是,取消引用指標有其自身的開銷,並且管理指標可能很複雜。如果您正在處理小型、簡單的物件並且需要快速、直接訪問,則常規數組可能會更有效。

使用指標數組有哪些風險?

指標數組引入了一定程度的間接尋址,雖然功能強大,但也可能存在風險。未初始化的指標可能會導致未定義的行為。此外,如果您對記憶體管理不小心,尤其是在 C 和 C++ 等語言中,您可能會面臨記憶體洩漏或雙重釋放的風險,這兩種情況都可能導致崩潰或錯誤。您必須非常小心地管理數組和每個指標指向的記憶體。

open in new tab
© 2024 Lenovo。保留所有權利。
© {year} Lenovo. All rights reserved.
比較  ()
x