程式設計基礎-------C語言函式返回二維陣列的做法
在C語言中,有時我們需要函式的返回值為一個二維陣列。這樣外部函式接收到這個返回值之後,可以把接收到的二維陣列當成矩陣操作(外部函式不可用普通的一級指標接收返回值,這樣的話,外部函式將不知道它具有二維性)。方法如下:
法1.沒有使用typedef型別定義
- #include <stdio.h>
- int (*fun(int b[][2]))[2]
- {
- return b;
- }
- int main()
- {
- int i,j;
- int a[2][2]={1,2,5,6};
- int (*c)[2];
-
c = fun(a);
- for(i=0;i<2;i++)
- for(j=0;j<2;j++)
- printf("%d ",c[i][j]);
- return 0;
- }
- #include <stdio.h>
- typedefint (*R)[2];
- R fun(int b[][2])
- {
- return b;
- }
- int main()
- {
- int i,j;
- int a[2][2] = {1,2,5,6};
-
R c;
- c = fun(a);
- for(i=0;i<2;i++)
- for(j=0;j<2;j++)
- printf("%d ",c[i][j]);
- return 0;
- }
這兩種方法本質上是一樣的
相關推薦
程式設計基礎-------C語言函式返回二維陣列的做法
在C語言中,有時我們需要函式的返回值為一個二維陣列。這樣外部函式接收到這個返回值之後,可以把接收到的二維陣列當成矩陣操作(外部函式不可用普通的一級指標接收返回值,這樣的話,外部函式將不知道它具有二維性)。方法如下: 法1.沒有使用typedef型別定義 #inc
C語言 函式返回一位陣列,二維陣列
方法一: 萬能的結構體:構造陣列的結構體,將函式型別定義為此型別 但是考試的時候應該不太方便寫結構體,寫不下也會很麻煩,故介紹方法二 方法二: 指標傳遞: 1、返回一維陣列 例子:將陣列每一位加一: #include<stdio.h> #define N 10 int
C/C++函式返回二維陣列指標問題
方法1:需要對指標有較好的理解int(*f())[2]{int (*m)[2]=new int[2][2];m[0][0]=1;m[0][1]=0;m[1][0]=2;m[1][1]=0;return m;}//總感覺這種函式定義很怪,可以使用typedef重定義下型別,如
【C語言基礎】1-5 C語言迴圈與二維陣列
C語言迴圈與二維陣列 知識點 break與continue break:break語句在switch-case語句中是跳出。break語句在迴圈中還有另一種用法。當迴圈中遇到break語句時,立即結束迴圈,跳到迴圈體外,執行迴圈結構後面的語句 conti
c語言 將一個二維陣列行和列的元素互換,存到另一個二維陣列中
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C語言筆記--利用二維陣列輸出楊輝三角形
楊輝三角形又稱帕斯卡三角形,其餘的話就不多說,先看下面的三角形: &nb
《程式設計基礎》實驗題目1 二維陣列 氣泡排序
題目:編寫函式,對於給定的二維整型陣列,首先對每行從小到大排序,之後對每列從小到大排序;反覆執 行上述排序過程,直到沒有變動為止。注:作為實參的二維整型陣列,每行元素個數不低於 3 且每列 元素個數不低於 4。 演算法分析: 1. 為方便傳遞引數
一種C語言建立超大二維陣列的辦法
最近需要寫一套JNI來紀錄整個螢幕的畫素資訊(9屏截圖),於是想建立一個二維陣列方便快捷地進行儲存,結果炸開了: 基本可以百分百肯定是棧空間不足,但我又不想增加棧空間,那怎麼辦呢?其實還是有辦法的。 首先二維陣列是什麼呢?其實就是兩部分組成,一個一維指標陣列,然後數組裡面的每個指標指向
用C語言分配動態二維陣列(結構體實現)
#include<stdio.h> #include<stdlib.h> typedef struct { double **mat; int m; int n; }Matrix; void InitialMatrix(Matrix *T,in
c語言 建立動態二維陣列 讀取txt檔案到陣列
int**P; P = (int**)malloc(sizeof(int)*M); for (int i = 0; i < M; i++){ P[i] = (int*)malloc(si
c++語言 如何計算二維陣列行數和列數
對於一個二維陣列如: int a[2][5]; 求陣列元素的總數: sizeof(a) / sizeof(int) 而陣列行數則為 :( sizeof(a) / sizeof(int) )/ ( sizeof(a[0]) / sizeof(int) ) 求陣列列數: siz
如何讓C語言函式返回一個二維陣列
為了讓C語言函式返回一個二維陣列,有些人這樣定義函式: int **foo(int rows, int columns) 然後在函式中費勁心機拼出來一個這樣的malloc語句: int (*result)[columns] = (int (*)[c
C程式設計--指標(用 “ 函式 ” 對 “ 多維陣列 ” 進行操作)
用指向陣列的指標做函式的引數 問題描述 有一個班,3個學生,各4門課,計算總平均分以及第n個學生的成績。 程式碼實現 #include<stdio.h> void average(float *p,int n);//
C語言函式返回值的實現方法和誤區
例項:你們認為這三個函式能正常返回嗎? int func1(int a , int b) { int c = 0; c = a + b; return c; } char * func2() { char *strTmp = "abs"; return str
C語言 字符二維數組(多個字符串)探討 求解
字符數 沒有 一個 spa style 字符串類 hello world c語言 字符 什麽是二維字符數組? 二維字符數組中為什麽定義字符串是一行一個? “hello world”在C語言中代表什麽? C語言沒有字符串類型? C語言 字符二維數組(多個字符串)探討 求解
[C語言]給一個二維字元陣列賦值的問題
我一開始是想寫一個下五子棋的程式,打算用一個字元二維陣列構造棋盤: #include <stdio.h> char a[10][10]; void p(char a[10][10]); int main(void) { int i, j; for (i =
誤人子弟篇之C語言函式返回值與引數傳遞
寫在開頭以免看到結尾你,此篇部落格純屬瞎扯,看看就可以了,不要當真哦! 如果搞過彙編,寫過子程式,那麼你就不用看了,因為看到最後你會發現,在彙編中你有很多方法去返回值,傳遞引數,而在高階語言中,編譯器只是選擇了其中的一種而已,而這篇部落格也寫的毫無邏輯,簡直喪盡天良,草菅人
40題計算機程式設計基礎(C語言)程式設計習題
注意:部分程式碼雙引號中英文有問題,自己調整!1.輸入2個整數,求兩數的平方和並輸出。#include <stdio.h> main(){ int a,b,s; printf("please input a,b:\n"); scanf("%d%d",&a
子函式使用二級指標返回二維陣列的值
使用二級指標返回二維陣列的值 一直以來都不會將函式的結果以陣列的形式返回,今天終於碰巧解決了! 函式功能:功能十分簡單,實現兩個二維陣列的減法,並將結果以陣列的形式返回。 void ** SubA
程式設計基礎(C語言)課程主頁-2016級
時間很快,2016級的小鮮肉們已經在猜測老賀長什麼樣子了。 從線上作業到翻轉課堂,幾屆的學生跟著我受了不少苦。話雖這麼說,並不代表2016級的就要輕鬆了(老賀虛偽到底!)。不過,苦孩子們,享受吧。 話說回來,老賀在這一屆身上也不會太輕鬆。翻轉課堂