1、屬于地址傳遞,在函數里修改的話,將直接影響調用方的數值。這是因為數組名代表這個數組的首地址,不過是靜態(tài)不可更改的而已。在函數里用引用[i]下標時,就是找到這個數組第i號元素的地址進行修改的。所以是第于是地址傳遞。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供懷來企業(yè)網站建設,專注與成都網站建設、網站制作、html5、小程序制作等業(yè)務。10年已為懷來眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網絡公司優(yōu)惠進行中。
2、數組名就是數組的首地址。因此在數組名作函數參數時所進行的傳送只是地址的傳送, 也就是說把實參數組的首地址賦予形參數組名。形參數組名取得該首地址之后,也就等于有了實在的數組。
3、下面例子,作為 指針傳遞 和 行指針傳遞。
既然只傳一行,干嘛要用(*)[]型形參?用char *p或char p[]不就足夠了?另外,50x1000000的數組大了點,聲明全局數組吧,局部數組不支持。
不可能達到目的。因為C語言中沒有引用這類型,C++才有。另,C/C++都不支持傳遞數組,只能傳遞數組的首元素或行指針,所以即使是C++,也只能傳遞數組指針的引用,而不可能傳遞數組的引用,因為數組沒有引用。
下面例子,作為 指針傳遞 和 行指針傳遞。
先看一個傳遞二維數組的例子:編譯:程序看著沒有任何問題,但是編譯器通不過,報錯在處理二維數組參數a的時候,類型不兼容。
gets(c[0])輸入第一行的字符串 gets(c[1])輸入第二行的字符串,以此類推。scanf(%s,c[0])輸入一行的字符串,以此類推。
既然只傳一行,干嘛要用(*)[]型形參?用char *p或char p[]不就足夠了?另外,50x1000000的數組大了點,聲明全局數組吧,局部數組不支持。
傳數組不能傳數組名,得傳首地址。char huiwen(char str[], int n)改為char huiwen(char &str, int n)其實你可以輸入字符串而不是字符數組,那樣會更好處理。
不可能達到目的。因為C語言中沒有引用這類型,C++才有。另,C/C++都不支持傳遞數組,只能傳遞數組的首元素或行指針,所以即使是C++,也只能傳遞數組指針的引用,而不可能傳遞數組的引用,因為數組沒有引用。
在C語言中,字符串是以字符數組方式保存的,于是字符串數組可以用二維字符數組存儲。輸入時,每次輸入字符串數組的一個元素(一行),根據需要,使用scanf或gets進行輸入。
數組名就是數組的首地址。因此在數組名作函數參數時所進行的傳送只是地址的傳送, 也就是說把實參數組的首地址賦予形參數組名。形參數組名取得該首地址之后,也就等于有了實在的數組。
網站欄目:c語言向函數傳遞字符數組 c語言函數傳出數組
本文來源:http://chinadenli.net/article20/depogco.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站建設、虛擬主機、網站導航、自適應網站、網頁設計公司、網站改版
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)