當前位置:首頁 » 編程語言 » c語言指針二維數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言指針二維數

發布時間: 2023-08-05 09:34:07

『壹』 c語言中 指針做函數參數傳遞二維數組

#include <stdio.h>

void fun(int (*p1)[3],int (*p2)[3]);

int main()

{

int p1[3][3]={{7,8,9},{4,5,6},{1,2,3}} ;

int p2[3][3] = {0};

int i = 0, j = 0;

fun(p1,p2);

for(i = 0;i < 3;i++){

for(j = 0;j < 3;j++){

printf("%d ",*(*(p2+i)+j));

}

printf(" ");

}

return 0;

}

void fun(int (*p1)[3],int (*p2)[3])

{

int i = 0,j = 0;

for(i = 0;i < 3;i++){

for(j = 0;j < 3;j++){

*(p2[j]+i) = *(p1[i]+j);

}

}

}

(1)c語言指針二維數擴展閱讀:

函數指針的聲明方法為:

返回值類型 ( *指針變數名) ([形參列表]);

其中,「返回值類型」說明函數的返回類型,「(指針變數名 )」中的括弧不能省,括弧改變了運算符的優先順序。若省略整體則成為一個函數說明,說明了一個返回的數據類型是指針的函數,後面的「形參列表」表示指針變數指向的函數所帶的參數列表。例如:

int func(int x); /* 聲明一個函數 */

int (*f) (int x); /* 聲明一個函數指針 */

f=func; /* 將func函數的首地址賦給指針f */

或者使用下面的方法將函數地址賦給函數指針:

f = &func;

賦值時函數func不帶括弧,也不帶參數,由於func代表函數的首地址,因此經過賦值以後,指針f就指向函數func(x)的代碼的首地址。

網路-函數指針

『貳』 c語言中如何通過二級指針來操作二維數組

1、首先我們打開電腦里的C語言軟體,新建一個工程和.c文件,輸入頭文件和主函數。

『叄』 如何在c語言二維數組中使用指針

程序中有些問題:
1、函數的定義有錯誤(參數格式不對);
2、程序中沒有調用函數(或者說是調用格式有誤)
3、函數中的處理邏輯需要修改(一步一步來,這樣容易處理和理解)。
你定義的函數是使用數組作為參數的,數組名本身就是個地址(相當於指針)。
下面在手機上用易歷知食軟體里的微C程序設計來演示修正後的代碼並運行程序,供參考。
手機上修正後的代碼如下圖:
手機上運行的效果如下圖所示:

『肆』 C語言如何定義指針指向字元型二維數組

使用指針變數訪問二維數組的任意一個元素的方法:

1.使用列指針:定義一個列指針p,讓它指向二維數組的第0個元素

int a[3][4];

int *p;

p=&a[0][0];

//因為a[0]是第0行的數組名,所以p=&a[0][0]相當於p=a[0],因為a[i][j]前面共有i*4+j個元素

該二維數組的任意i行j列元素可表示為*(行握並p+i*4+j)。

2.使用行指針:定義一個行指針p,讓它指向二維數組的第0行

int a[3][4];

int (*p)[4];

p=a;皮孫 //也可以為p=&a[0];

其中* ( *(p+i)+j)表示任意一個i行j列的元素。

(4)c語言指針二維數擴展閱讀:

數組的使用規則:

1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。

2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。

3.如不給可初始化的數組賦初值,則全部元素均為0值。

4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環檔跡語句配合scanf函數逐個對數組元素賦值。

網路-數組