我最近寫了下面的代碼:轉換維數組二維數組用C
#include <stdio.h>
int main()
{
int **x;
int arr[] = {1,2,3,4,5};
x = (int**)arr;
}
我如何打印的內容改編用x?還解釋一維數組如何轉換爲二維數組?
我最近寫了下面的代碼:轉換維數組二維數組用C
#include <stdio.h>
int main()
{
int **x;
int arr[] = {1,2,3,4,5};
x = (int**)arr;
}
我如何打印的內容改編用x?還解釋一維數組如何轉換爲二維數組?
1)你想要做的是不正確的。你必須使用一個int *
#include <stdio.h>
int main()
{
int *x;
int arr[] = {1,2,3,4,5};
x = arr;
//do what do you have to do
}
2)對於數組轉換我想這是沒有意義的。
我知道我所做的沒有任何意義。但是,代碼編譯時沒有警告,這並不正確。我懷疑如何將一維指針轉換爲二維指針。 –
如果你指的是如何完成這個轉換:操作'int ** x =(int **)arr;'在句法上是正確的。你將獲得一個int指針指向int指針或(更容易理解)一個int [] []' –
該代碼已損壞。 – melpomene
到目前爲止請顯示您的研究/調試工作。請先閱讀[問]頁面。 –
您可以將一維數組轉換爲二維數組,但它很危險,因爲您改變了如何訪問大量的字節。如果你做得不對,會導致未定義的行爲。另外,用奇數的數據做這件事情根本不可能。 – Garf365