1樓:聽不清啊
這是一個自定義的函式。
照函式名來看,它的作用是把a陣列中的前n個元素逆置(即把它們的陣列中的位置反過來存放,假如a[0]~a[99]中原來存放的是1,2,3,4,。。。,99,100,則呼叫一次reverse(a,100)後,a陣列中的元素將成為100,99,98,。。。,3,2,1)。
2樓:
34:void reverse(int a,int n)
意思是把陣列a 中的前n個數逆置過來。
b[10]=給陣列b賦初值。
s+=b[i]相當於s=b[0]+b[1]……+b[i].
reverse(b,8)就是把陣列b中的前8個數逆置過來
35:s+=aa[i][1] 相當於第二列相加 即:2+6+9+2=19
aa[4][4]是一個二維陣列,相當於一個矩陣。
38:那是對檔案操作的函式你可以在標頭檔案裡找到原形。
fp=fopen("d1.dat","w");可寫開啟檔案d1.dat
fp=fopen("d1.dat","r");只讀開啟檔案d1.dat
fclose(fp);關閉檔案指標。
fscanf(fp,"%d%d",&k,&n);往指標fp所指向的檔案裡寫入兩個資料k,n.
3樓:匿名使用者
void reverse(int a, int n)//這是一個過程定義。沒有輸出的值。實際void是一個指標,屬地址引用。
{int b[10]={1,2,3,4,5,6,7,8,9,10//這是定義一個有10個元素的陣列變數b.
s+=b[i];//意思是s=s+b[i]
reverse(b,8)//意思是參照它的定義void reverse(int a, int n)
fp=fopen("d1.dat","w");//意思是給檔案指標變數fp負值。也叫開啟檔案。
fp=fopen("d1.dat","r");//同上
fclose(fp);//關閉檔案。
fscanf(fp,"%d%d",&k,&n); //在螢幕上按格式顯示
c語言 int &a 是什麼意思
4樓:非常可愛
int&a的時候,編譯器不會給a分配記憶體空間,因為它只是另一個變數的標記;
&a是存放a的記憶體地址,比如變數a=1,&a就等於存放這個1的記憶體地址的數值;
例:#include
intmain()
;intb=5;
int*p1=a;
int*p2=&a;
printf("b:%d&b:%d\n",b,&b);
getch();
return0;
}擴充套件資料int&b=i;//這裡b是一個引用,它是變數i的引用引用就是指標,對比如下程式:
voidfunction(int*a)
intmain()
voidfunction(int&a)
intmain()
int&a應該也是voidfunction(int&a)傳遞引數
5樓:左清安賽辛
int&
a是引用的意思,相當於原有變數的一個
副本。比如intn=
4;int&a=
n;此時a和n為同一個東西,改變a的值,就會改變n的值。
在函式的形參中定義引用,也是同一個意思。例如:
void
fun(int&
a);//
函式intn=
4;//
定義變數n
fun(n);
//呼叫fun函式
此時,在fun中使用變數a,就相當於使用變數n,函式中改變a的值,n的值也會同時改變,形參中定義引用,可以將該形參作為輸出引數。
之所以定義引用,優點在於:傳值時,系統會新開闢一段記憶體用於存放輸入函式的值,而使用引用則跳過此步驟,利於提高程式的效率。如果傳入函式的是一個很大的陣列,這點尤其重要。
當然指標也可以實現這個功能,但引用的執行效率比指標更高。
如果不需要在函式中改變引用的值,可以這樣定義void
fun(const
int&a);
6樓:一騎當後
c++中nt &a意思是定義一個引用
,引用相當於指標再取值他和被引用的變數都是表示同一塊記憶體。
(int&)a :不經過轉換, 直接得到a在記憶體單元的值。
(int)a :a在記憶體中的值轉換成int型別。
7樓:水上漂湯
在定義一個變數的時候,*表示指標
比如int * a,表示a是一個指向int的指標int **a相當於(int *) * a,表示a是一個指向int *的指標(通俗點說就是a的值是一個指標,或者說地址),即指向int指標的指標,這是2級指標。
int m = 1;
int *p = &m;
int ** a = &p;
8樓:匿名使用者
nt &b = i;//這裡b是一個引用,它是變數i的引用引用就是指標,兩者沒有區別。我們
可以把引用想象成一個不需要"*"就可以訪問變數的指標,對比如下程式以上兩段程式完成的功能是一樣的。
你那個 int &a
應該也是void function(int &a)這種形式的把,傳遞引數的
9樓:
當int* a和int* b後面都有分號時,int* a;是宣告或說明指向int型變數的指標a,int* b;是宣告或說明指向int型變數的指標b。題面中二者後面都沒有分號,應該說都是錯誤語句。行話這樣表述:
int* a;是宣告int*型指標a,int* b;是宣告int*型指標b。當然要明白,指標的型別是指它指向的目標的型別。
10樓:匿名使用者
int*是指向int的指標
char*是指向char的指標
*a是對指標a解引用
char* p;是宣告一個char*型別的指標*p = &c;把c的地址賦給p指向儲存的記憶體int b = 3;
int* a = &b; // 取b的地址並賦給指標a*a = 4; // 修改a所指向地址的記憶體內容為4,因為a指向b,所以這句執行之後b = 4
11樓:匿名使用者
&a是存放a的記憶體地址,比如變數a=1,&a就等於存放這個1的記憶體地址的數值 a是這個陣列a的起始記憶體單元地址,&a跟a一樣 你可以看看執行下
參考: http:
12樓:匿名使用者
定義指標變數,變數指向整型資料的地址
例如:int * a;
int b=10;
a=&b;
printf("%d",* a);
結果為 10。
13樓:匿名使用者
其實int &a就是定義一個指標的意思
void (*signal(int signum,void(* handler)(int)))(int)引數是什麼意思? 10
14樓:
先看這個void(* handler)(int)說明handler是一個函式指標,右邊(int)說明這個函式有一個int型引數,左邊的void說明這個的函式值返回值是void型。
接下來把void(* handler)(int)看成一個整體:void b,那麼上面就可以簡化成這樣:
void (*signal(int signim, void b)(int)
這不就和上面的一樣了嘛,只不過signal指向的函式有兩個引數了。
手機手打,不容易啊。。
C語言問題,C語言問題C語言問題
選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...
c語言,c語言,C語言中 與 的區別
第4題 include using namespace std void main else 這兒是隨機生成 else 這兒是隨機生成 int main 第7題 include strinv char str str n 0 int main 本來想幫你全做的,不過6,7好像有人做了,那就幫你做了4...
c語言求解,C語言求解?
鐵柺季 當第一次進入pr 函式並執行到scanf函式處時,讀取一個字元 a 此時在此pr 函式中字元變數ch的值即為 a if判斷讀取的字元是否為 並不是,因此進入一個內層函式pr 中。在執行這個pr 函式時,對外層而言只是執行一條語句而已。是在執行完這條語句之前,將不會執行後面的內容的。在這個內層...