1樓:
按照 C 的寫法應該是:
int(*p
)[4]=
;但是既然是用 C++ ,最好的方法還是用模板容器:
using
arr_type
=std
::vector
array 4>>;arr_typep1= ,};arr_typep2= ,,};arr_typep3= ,,};arr_typep4= ,,};arr_typep5= };然後想要拷貝 std:: vector >p=;或者想要引用 std:: vector >>p= ;都可以。 2樓: template N>using unique_ptr_vector =std ::unique_ptr vector ::vector 3樓:林吟風 其實就是要乙個存這些陣列退化成指標後的值的陣列……所以得退化一下…… #include // ... // C++ 11 std:: decay )>:: typearr =;// or C++ 14 std:: decay_t )>arr =;或者把它置於右值上下文來退化(加減幾都行)// C++ 11 decltype(p1 +0)arr =;當然最後的實際型別是 int( *arr[5 ])[4]; 4樓:歐先飛 其實只要理清層級關係就行了, 你需要的是乙個陣列,陣列的元素是指標,指標指向的是乙個長度為4個int的一維陣列,所以你需要將p定義成這樣的型別:array(pointer(array(int, 4)), unknown),直接展開到C的型別就是int (*(p))[4] = ; 同時由於的結合優先順序大於*,你可以將最裡面的那個括號省略,也就是可以寫成int (*p)[4] = ; 5樓:暮無井見鈴 using ar_int_4 = int[4]; using p_ar_int_4 = ar_int_4*; p_ar_int_4 ptrarr = ; 或(盡量不要試圖寫這種,容易錯) int (*ptrarr)[4] = ; Cyandev intnth largest int arr int count intn int result tmp n 1 free tmp return result 不知道算不算抖機靈,如果memmove我們認為時間複雜度為 O 1 的話,這個演算法的時間複雜度和空間複雜度就都是 O n ... Github上有類似的專案 head only庫 給 dynarray 做了些修補和擴充套件,現在還能用,或許可以滿足題主的要求。首先是這個,出現得比較早,就叫做 dynarray Robbepop dynarray 基本能滿足需求,只要不使用自定義分配器 allocator 的話。如果要用自定義分... OXygen 你可以使用結構體陣列 首先你要有意識到,你這不僅僅是乙個普通的型別陣列能夠存下的資訊,你只能把人名資訊和座位資訊抽象出來,寫成乙個結構體,再用結構體型別構建陣列,寫法供參考 struct stu info struct stu info group 1 3 C 的話,可以預設struc...如何寫乙個函式獲得乙個陣列中的第二大數?
C 如何實現乙個給定維度的多維變長陣列型別
在C語言中如何使用陣列寫出乙個班級的人名並與其座位(x,y)一一對應?