以字符串?dāng)?shù)組形式傳遞,指針?lè)绞?或 數(shù)組方式 都能實(shí)現(xiàn)參數(shù)傳遞。
馬龍網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,馬龍網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為馬龍上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的馬龍做網(wǎng)站的公司定做!
它與簡(jiǎn)單變量的交換方法相同,但是字符串的傳遞是通過(guò)系統(tǒng)函數(shù)實(shí)現(xiàn)的。
字符串?dāng)?shù)組就是一個(gè)數(shù)組,他的每一個(gè)元素都是一個(gè)字符串。在c語(yǔ)言中字符串是以\0結(jié)尾的一串字符,如“abcd1234\0”字符串?dāng)?shù)組str[2]={abc\0,123\0} \0是結(jié)束符。
你還記不記得交換兩個(gè)數(shù)的數(shù)值的函數(shù)change(),如果直接將要交換的數(shù)傳給change,是起不到交換的目的的(被交換的是change中的兩個(gè)數(shù),main中的那兩個(gè)沒(méi)有被交換),需要使用指針。
首先我們新建一個(gè)dev C++的項(xiàng)目。接下來(lái)在項(xiàng)目中新建C語(yǔ)言程序文件。然后在C語(yǔ)言文件中聲明一個(gè)字節(jié)數(shù)組。接下來(lái)我們通過(guò)printf函數(shù)提示用戶(hù)輸入字符串,通過(guò)scanf接收用戶(hù)輸入的字符串。
1、不可能達(dá)到目的。因?yàn)镃語(yǔ)言中沒(méi)有引用這類(lèi)型,C++才有。另,C/C++都不支持傳遞數(shù)組,只能傳遞數(shù)組的首元素或行指針,所以即使是C++,也只能傳遞數(shù)組指針的引用,而不可能傳遞數(shù)組的引用,因?yàn)閿?shù)組沒(méi)有引用。
2、函數(shù)原型 type fun (type (name*)[size])\x0d\x0a \x0d\x0atype是你要定義的類(lèi)型,fun是函數(shù)名,name是在函數(shù)中二維數(shù)組的名字,\x0d\x0asize是二維數(shù)組第2維的長(zhǎng)度。
3、先將二維數(shù)組的行指針存儲(chǔ)到一個(gè)指針數(shù)組中,再將指針數(shù)組傳遞到子函數(shù)中去。#include stdio.h void output(int pa[],int row,int col )//這個(gè)函數(shù)更通用,但調(diào)用前,要做好準(zhǔn)備工作。
4、C語(yǔ)言如果給函數(shù)傳遞二維數(shù)組作為參數(shù) 先看一個(gè)傳遞二維數(shù)組的例子:編譯:程序看著沒(méi)有任何問(wèn)題,但是編譯器通不過(guò),報(bào)錯(cuò)在處理二維數(shù)組參數(shù)a的時(shí)候,類(lèi)型不兼容。
5、區(qū)分二維字符數(shù)組的類(lèi)型,有兩種方式:1 靜態(tài)的二維數(shù)組。也就是形式為char a[M][N]形式的數(shù)組,在傳參數(shù)的時(shí)候,需要在形參中指明二維數(shù)組的寬度,也就是N值。
1、c語(yǔ)言函數(shù)中傳遞字符串,可以分為兩種情況,一種是將字符串作為參數(shù),一種是將字符串作為返回值 ,當(dāng)使用字符串作為返回值時(shí),切記不要傳遞局部字符數(shù)組。
2、以字符串?dāng)?shù)組形式傳遞,指針?lè)绞?或 數(shù)組方式 都能實(shí)現(xiàn)參數(shù)傳遞。
3、傳數(shù)組不能傳數(shù)組名,得傳首地址。char huiwen(char str[], int n)改為char huiwen(char &str, int n)其實(shí)你可以輸入字符串而不是字符數(shù)組,那樣會(huì)更好處理。
4、在主函數(shù)里面,sizeof是數(shù)組占的空間 在作為參數(shù)時(shí),會(huì)被轉(zhuǎn)為指針 所以在函數(shù)里面打印的是sizeof(char*)對(duì)于任意指針,sizeof的值都是當(dāng)前編譯器位數(shù)。
5、); scanf(%s,&a); char *c=find(a); printf(字符串中數(shù)字有:\n); printf(%s\n,c);}用返回值的形式來(lái)做數(shù)組問(wèn)題確實(shí)不好,最好是用全局變量的形式做比較好。有啥問(wèn)題追問(wèn)吧。
6、不可能達(dá)到目的。因?yàn)镃語(yǔ)言中沒(méi)有引用這類(lèi)型,C++才有。另,C/C++都不支持傳遞數(shù)組,只能傳遞數(shù)組的首元素或行指針,所以即使是C++,也只能傳遞數(shù)組指針的引用,而不可能傳遞數(shù)組的引用,因?yàn)閿?shù)組沒(méi)有引用。