我明白代碼創建一個指針變量作爲二維數組。但我覺得,而不是 被用來存儲另一個變量(二維數組)的地址指針變量存儲與實際的數字,以擺脫只使用數組的缺點。 我是對還是錯?幫助我提高對指針的理解。我想知道以下C++代碼的用途
double** assign_initial_guess(
int nx,
int ny,
double top,
double left,
double right,
double bottom,
double interior)
{
//n --> number of nodes in one direction
//top,left,right,bottom,interior --> values need to assigned at respective nodes
double** u=0;
int ind=0;
u=new double*[nx];
for(int i=0;i<nx;i++)
{
u[ind]=new double[ny];
for(int j=0;j<ny;j++)
{
u[i][j]=interior;
if(i==0)
{ u[i][j]=top;} // top boundary
if(j==0 && i>0 && i<(nx-1))
{ u[i][j]=left;} // left boundary
if(j==(ny-1) && i>0 && i<(nx-1))
{ u[i][j]=right;} // right boundary
if(i==(nx-1))
{ u[i][j]=bottom;} // bottom boundary
}
ind+=1;
}
return u;
}
在下次發佈之前,嘗試將代碼格式化一些,正如Whozcraig爲您所做的一樣。 – citelao
@citelao希望現在至少可讀。 – WhozCraig
在這段代碼中'ind'的用處是值得懷疑的,除了混淆之外,還有其他的東西。走代碼,然後考慮它的消除,用'i'代替它,然後完全刪除底部的'ind + = 1'。也許它會更清楚一點。 – WhozCraig