inta和inta的區別,c語言中int a,int a和int a什麼區別?

時間 2021-06-25 14:42:58

1樓:七彩虹科技****

int (*a)[5]這裡的a是行指標,指向的是一個5的陣列,那麼它的單一跨度為5,即a+1,那麼它指向的數值要從首地址向後移動5個位置; int a[5],這只是一個int陣列,a是它的首地址,a+1,那麼它就指向第二個數值。區別很明顯了。

2樓:沃杆妮釀

int &a相當於引用;例如:

int n=5;

int &a=n; //相當於在n這個空間加一個名稱a,那這個空間就可以叫n或者a

printf("%d %d",n,a); //結果是:5 5

3樓:匿名使用者

int a的意思是定義一個變數a

int &a意思是定義一個引用 //引用相當於指標再取值 他和被引用的變數都是表示同一塊記憶體

引用就是給變數取別名 int b ;int &a=b; 用cout<<&a 和cout<<&b 你會發現他們的地址是一樣的

4樓:匿名使用者

int a 是定義一個整型變數,而int &a是定義a的地址為整型變數!

5樓:**夢幻

int f(&int a)

這個編譯通不過的,起碼也該是

int f(int &a)同樣是被int x = 100;f(x);呼叫:int f(int a),其無論對a做什麼,都不影響傳入引數的實參x的值。int f(int &a),對a操作等價於對x操作。

其實這裡a就是個x的別名。

6樓:d雪月

int a; 表示申請整型變數名稱為a,在記憶體中申請一個單元存放a。

int &a;好像一般不能用,是不是int *a或者int a,*b&a;那是申請一個指標,但這個指標指向還不定,在記憶體中以整形單元儲存該指標。而該指標指向別的整形單元(地址);

7樓:匿名使用者

int a 是定義一個整型變數a

int &a 是定義一個存放整形變數a的地址

8樓:匿名使用者

int a宣告一個int型別的變數a。

int &a宣告一個可以儲存int型別的變數的名字的變數a。

實際上引用是指標和實值儲存的一種折中。

c語言中int *a,int a和int* a什麼區別?

9樓:匿名使用者

int *a和int* a是一樣的,都是定義了一個指向int型資料的指標變數a

int a是 定義了一個int型別的變數

10樓:孝稷

int *a指的是定義一個指向int型別資料的指標a,int a指的是定義一個整數變數a,

int* a跟int *a是一樣的,只是int *a更嚴謹,比如,int *a,b; 只有a是指標變數int* a,b; 容易讓人覺得a和b都是指標

int *a=b與int*a=&b有什麼不同

11樓:匿名使用者

這是典型的c語言指標題

int *a表示定義了一個int型的指標

*a=b表示指標a指向b,即把b賦值給*a;

&是取地址符,&b代表b在記憶體中的地址,*a=&b表示把b的地址賦值給*a。

利用編譯器編譯該**:

結果為:

拓展資料

*和&運算

(*p)操作是這樣一種運算,返回p 的值作為地址的那個空間的取值。(&p)則是這樣一種運算,返回當時宣告p 時開闢的地址。顯然可以用賦值語句對記憶體地址賦值。

我們假設有這麼兩段記憶體地址空間,他們取值如下:(單位:h,16 進位制)

假設有這麼一段**:(假設開闢空間時p 被分配給了3001h、3002h 兩個位置)

int *p;

p=2003h;

*p=3000h

**p的值為多少?

**p=*(*(p))=*(*(2003h))=*(3000h)=3000h。

那麼&&p、*(&p)和&(*p)又等於多少?

&&p=&(&(p))=&(3001h),此時出錯了,3001h 是個常數怎麼可能有地址呢?

*&p=*(&(p))=*(3001h)=2003h,也就是*&p=p。

12樓:南北

*a=b表示a指標所指向的資料,等於b。*a=&b表示a指標所指向的資料,等於b的地址。

1、int *a=b是說把b的值賦值給指標a(*a), int*a=&b是說讓指標a(*a)指向b的地址。 舉個例子說: int b=5,c=9。

2、int *a1=b;----------------------1。

4、b=c;-------------------------3 這個時候*a1=5,*a2=9 。因為在說第一步時已經把b的值,也就是5傳給*a1,所以*a1=5 。在第二步時,把b的地址,也即是&b傳給了*a2,這個時候*a2=5。

5、但是在第三步時,b的值變成了c的值,也就是9,我們知道這個時候 b的地址早就傳給*a2了,所以,*a2和這個時候的b的值是一樣的, 即*a2=9。

13樓:匿名使用者

int *a=b是說把b的值賦值給指標a(*a), int*a=&b是說讓指標a(*a)指向b的地址。

舉個例子說:

int b=5,c=9

這個時候*a1=5,*a2=9 。因為在說第一步時已經把b的值,也就是5傳給*a1,所以*a1=5 。在第二步時,把b的地址,也即是&b傳給了*a2,這個時候*a2=5 。

但是在第三步時,b的值變成了c的值,也就是9,我們知道這個時候 b的地址早就傳給*a2了,所以,*a2和這個時候的b的值是一樣的, 即*a2=9。

14樓:一口沒水的枯井

1 答案

不同點在於a的值不一樣

2 關於指標

在32位機器裡,指標型別為4個位元組,一般用16進位制的形式來表示3 分析

int*a;表示a被宣告為int型指標型別(1)在int *a=b;裡

若b是整數12,則 a的值為 0x0000000c在c語言中 int*a=b;是報錯的,需要強制轉換才行 int*a=(int*)b

(2)在int *a=&b;裡

表示把b的地址賦給a,加入b的地址是 0xff00ff00則a的值也為0xff00ff00

當然,在每次程式執行時,b被分配的地址是隨機的,所以不一定是0xff00ff00

4 用一個小示例驗證

#include

int main()

5 執行結果

15樓:oo怨念

int *a=b

這種寫法是錯的,你不能用一個int型的變數去初始化一個int*型別的變數。

16樓:匿名使用者

int *a=b;

宣告一個int *型指標變數a,並將其值初始化為b的值,這裡b應該也是個int *型指標變數

int *a=&b;

宣告一個int *型指標變數a,並將其值初始化為變數b的地址值,這裡b應該是個int型變數

17樓:火狐狸

我是學習計算機的,我來說吧

int *a=b是說把b的值賦值給指標a(*a),int*a=&b是說讓指標a(*a)指向b的地址。

舉個例子說,

int b=5,c=9

這個時候*a1=5,*a2=9

因為在說第一步時已經把b的值,也就是5傳給*a1,所以*a1=5在第二步時,把b的地址,也即是&b傳給了*a2,這個時候*a2=5但是在第三步時,b的值變成了c的值,也就是9,我們知道這個時候b的地址早就傳給*a2了,所以,*a2和這個時候的b的值是一樣的,即*a2=9。

謝謝把分給我。

18樓:匿名使用者

簡單:int *a=c;定義指標a並賦初值c;

相當於int *a;//定義指標變數a

a=c; //給a賦值c

所以int *a=b;初值為b

int *a;

a=b;

int *a=&b;初值為b的地址

int *a;

a=&b;

對指標的操作要慎重,最好定義的時候賦初值,使用的時候判斷有效性

19樓:戲水兒

int *a=b

int*a=&b

這兩個a都是int*型別的指標,第一句是a=b,b應該也是一個指標,第二句是將b這個變數儲存的地址賦值給了a。

20樓:匿名使用者

int *a=b 將變數b的值賦給*a

int*a=&b 使a指向b

c++ 中函式引數 int& a 和int &a 有什麼區別 50

21樓:貧血去

這是傳引用呼叫,函式呼叫引數的時候不會再拷貝一個副本。 // 函式呼叫後a 和b並沒有達到交換的目的(拷貝臨時變數 a, b) int swap(int a, int b) // 函式呼叫後a 和b的值進行了交換(直接作用於 a, 和b) int swap(int &a, int &b)

22樓:匿名使用者

int &a //把a的地址強制轉換成10進位制數

int& a//將a的引用強制轉換為整形

C語言程式設計int a 31,23,

為了便於檢視計算的過程 我改了一下原始碼 include stdafx.h include process.h int main int argc,char ar int i,j,s 0 for i 0 i 3 i printf 計算完成後的s d n s system pause return 1...

static int a和int a是什麼區別

一 變數型別不同 1 static int a 定義了一個靜態的整型變數a。2 int a 定義了一個整型變數。二 資料共享方式不同 1 static int a 靜態變數不單單僅僅只是屬於某一個物件的,而是屬於類的,所以靜態變數會被該類的所有物件共享,也就是說所有該類的物件使用的是同一份資料。2 ...

C語言中,若有int a 5則逗號表示式a 2 6,a 3,a 5的值是

風雷九州 沒錯,就是12。號優先順序高於,號表示式,要計算 賦值 直接就是a 2 6 12了,後面那些a 3,a 5什麼的都沒用 我認為是17,因為這是一個逗號表示式,裡面有2個逗號,3個式子!逗號表示式的值,以最後一個式子的值為值,也就是a 5。但是他是從前往後依次做算的,運算第一個式子後,a是1...