不是inta[] ? 而是例如int a[10]這種。括號內(nèi)一定要有個常量數(shù)字。
專注于為中小企業(yè)提供網(wǎng)站建設、成都網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)固陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
我們可以這樣定義
#define N 5
int a[N]
這表明了數(shù)組名為a;數(shù)組有5個元素;分別是a[0]到a[4];
對于數(shù)組來說;數(shù)組是變量的集合,因此數(shù)組也具有與變量相同的數(shù)據(jù)類型和儲存類型。數(shù)組的類型就是它所有的變量的類型。在定義數(shù)組時,應在數(shù)組名前對數(shù)組的類型加以確定。如上面的int a[10];則表明了數(shù)組內(nèi)元素均為整形。
所有當表示浮點型可以定義為例如float a[10]。 舉例如下:
擴展資料
數(shù)組名是由用戶命名的C語言標識符,要遵循標識符命名規(guī)則。數(shù)組名表示數(shù)組存儲區(qū)域的首地址。數(shù)組的首地址也就是第一個元素的地址。數(shù)組名是一個地址常量,不能對它賦值。
數(shù)組名后是由方括號括起來的常量表達式,不能使用其他括號
1、通過函數(shù)的參數(shù)顯示傳遞:
a(int
a)
{
a
=
a+2;
}
b(void)
{
int
b
=
3;
a(b);
}
在函數(shù)a中a作為一個參數(shù)傳入函數(shù)中進行運算,那么a就可以算作是a的輸入,然后在程序內(nèi)部a進行了運算后值變了,那么運算后的a又算作是a函數(shù)的輸出。
2、通過全局變量隱式傳遞:
全局變量你應該知道吧,簡單點說就是作用域涵蓋整個程序的變量(當然要看具體情況)。
假設a為int型全局變量,初始值為1:int
a
=
1;
a()
{
a
=
a
+
2;
}
b()
{
a
=
a
+
3;
}
main()
{
a();
b();
a();
}
通過main函數(shù)我們可以看到,程序首先執(zhí)行的是函數(shù)a,那么執(zhí)行完函數(shù)a后全局變量a的值由初始值1變成了3,然后又繼續(xù)執(zhí)行函數(shù)b,注意此時函數(shù)b也是對a進行運算,那么此時全局變量a成了b的輸入,運算后a的值為了6,此時a為b的輸出。那么也就是說全局變量a在經(jīng)過a函數(shù)的改變后作為一個輸入隱式的傳入了b函數(shù),然后經(jīng)過b函數(shù)的運算又算作是b的輸出。執(zhí)行過b函數(shù)后程序又遇到了a函數(shù),那么此時經(jīng)過b函數(shù)運算的a又作為a函數(shù)的一個輸入了。
可以這樣調(diào)用。
int b=0指的是默認參數(shù),調(diào)用時傳入或不傳入b都行,如果不傳入b的話,那么b的值就是0。
另外注意只有最后面的參數(shù)可以是默認參數(shù)。
C語言的變量初始化,就是在定義變量的時候,賦予一個初始值。
形式為
type var_name = init_value;
其中init_value就是初始化值了。
類似于
type var_name;
var_name = init_value;
不過,基于編譯器的實現(xiàn),一般初始化值的方式要比先定義后賦值更高效。另外,有些初始化是必須的。比如常量的定義,必須在定義的時候賦予初始化值。
或者通過參數(shù)傳進去,如
void Init(stu_handlertus *hdl)
{
hdl-count = 1;
for(i = 0; i 50; ++i)
{
hdl-rtus[i].rtuindex = 0
hdl-rtus[i].a = 0;
hdl-rtus[i].b = 0;
hdl-rtus[i].c = 0;
}
}
調(diào)用
Init( handlertus);
即可。
不過結構:
struct stu_handlertus
{
int count;
struct stu_handlertus rtus[50];
}handlertus;
是錯誤的,原因是這一句
struct stu_handlertus rtus[50];
這樣就不知道結構stu_handlertus的大小了。所以上面改為
struct stu_handlertu rtus[50];
兩個結構名字這么接近,是一個不好的風格。
void InitStack(SqStack *S)
{
int i;
for(i=0;iN;i++)
S-base[i]=0;
S-top=0;
}
C中函數(shù)參數(shù)是按值傳遞,你那樣寫修改的是復制的副本,本身沒有修改,傳遞指針,間接修改。
其他的函數(shù)也一樣,都需要傳遞指針。
網(wǎng)站名稱:c語言含參函數(shù)初始化,c語言函數(shù)參數(shù)默認值
標題網(wǎng)址:http://aaarwkj.com/article8/dssjcip.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、企業(yè)建站、關鍵詞優(yōu)化、手機網(wǎng)站建設、網(wǎng)站設計、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)