C 語言 int a是什麼定義啊

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

1樓:__與非

是指標變數,簡單來說,指標變數中是儲存的變數地址,而不是變數的值。

指標是c語言的精華部分,通過利用指標,我們能很好地利用記憶體資源,使其發揮最大的效率。有了指標技術,我們可以描述複雜的資料結構,對字串的處理可以更靈活,對陣列的處理更方便,使程式的書寫簡潔,高效,清爽。但由於指標對初學者來說,難於理解和掌握,需要一定的計算機硬體的知識做基礎,這就需要多做多練,多上機動手,才能在實踐中儘快掌握,成為c的高手。

2樓:在龍潭河跳探戈的天目瓊花

帶*的叫做指標,它和int a的區別在於,舉個例子,程式中有int m=3,int n=4;你呼叫該函式,countvalue(&m,&n),m,n的值會改變,如果你呼叫的函式為void countvalue(int a,int n),countvalue(m,n),無論你怎麼搗騰,m和n的值不會發生改變。指標是c和c++中的重點,建議好好學一下

3樓:最硬的石頭

int型別的指標,這裡的兩個都是該函式的引數,用於向函式傳遞資料

4樓:匿名使用者

這是定義指標變數,儲存的是記憶體地址。詳細的這裡實在說不清楚,建議你多看看關於指標的介紹

5樓:匿名使用者

a n定義為整形的意思 整數時有效

6樓:臺桖晴

這是指標,儲存的是地址

c/c++中,int ** a;是什麼意思啊?

7樓:會飛的小兔子

*表示指標;

int*a裡表示a是一個指向int的指標,指向是用來儲存指標地址的;

int**a表示專*a是指標指屬向整數指標型別int*a表示a是指向整數的指標型別;

int*a是宣告指標;

int(*a)把指標a取值,並且轉換成int;

(int*)a把a這個變數轉換成int*;

擴充套件資料int*a的使用

intmain()

8樓:水上漂湯

在定義一個

變數的時候,*表示指標

比如int * a,表示a是一內個指容向int的指標int **a相當於(int *) * a,表示a是一個指向int *的指標(通俗點說就是a的值是一個指標,或者說地址),即指向int指標的指標,這是2級指標。

int m = 1;

int *p = &m;

int ** a = &p;

9樓:背心_心背

定義一個int型別的二維指標a

10樓:匿名使用者

指向int型指標的指標

11樓:

就是一個指向指標的指標,用來儲存指標的地址

c語言 *(int *)a是什麼意思? 20

12樓:天空沒蜻

int *a指的是定義一個指抄

向int型別數襲據的指標a,int a指的是定bai義一個整數變數dua,

int* a跟int *a是一樣的,

zhi只是int *a更嚴謹,

比如,daoint *a,b; 只有a是指標變數int* a,b; 容易讓人覺得a和b都是指標

在c++中(int *)(&a)是什麼意思,本題在問題描述裡?

13樓:

(int*)可以省略,指標型別強制轉換。

&a就是取a的記憶體地址。

int *p=(int *)(&a);就是定義int型別指標變數p,p指標賦值為a的記憶體地址,即指標p指向a。

c++中,int *a=new int(120)語句是什麼意思???

14樓:匿名使用者

先說下那三條語句

申請一個整型變數空間,賦初值為120,並

定義一個整型指標a指向該地址空間

int *a=new int[120];

申請120個整型變數空間,沒有賦初值,並定義一個整型指標a指向該地址空間開始處

int *a=new int(n);

申請一個整型變數空間,賦初值為n,並定義一個整型指標a指向該地址空間對於(1)(3)語句,肯定陣列越界了。

c語言編譯器不會自己檢查陣列越界的,要靠程式設計師自己注意如果越界,一般來說同樣可以修改、訪問,所以你的程式輸出結果不變但是要知道:越界部分是別的部分的資料甚至**,修改、訪問可能導致程式錯誤

給個簡單例子

#include

void main()

printf( "%d\n", iout );

} 由於越界,變數iout的值在for迴圈最後一步改變最後輸出結果為 4

15樓:匿名使用者

int *a=new int(120); //分配一個int型別變數的memory,並初始化為120.。。並返回該memory的地址。。

16樓:

申請空間建立一個int型的長度為120陣列,a 指向陣列第一個元素的地址

17樓:匿名使用者

建立一個int型的長度為120陣列

c語言指標 定義 int *a[3] 和 int *(a)[3] 有什麼區別??? 書上的沒看懂啊

18樓:匿名使用者

int *a[3];

//因為bai:du陣列zhi名等效於dao指標,內//因此:int *(* (a+3)) 該型別為指標,即:該陣列的元素為容指標變數

int *(a)[3];

//因為:陣列名等效於指標,比()、*操作符都要高階。

//因此:int * ( *(a+3 ) == int **(a+3) 該型別也為指標,即:該陣列的元素為指標變數

19樓:匿名使用者

int *a[3] 和 int *(a)[3]沒有區別,這個括號是多餘的。

如果你問的是int *a[3] 和 int (*a)[3]的區別,則:專

(1)int *a[3] 中 a是陣列,陣列中每個屬元素是個int型別的指標;

(2)int (*a)[3]中 a是指標,這個指標指向一個長度是3的int型別陣列。

其實,這類問題關鍵就是如何理解(),這裡()就是優先操作,先操作(*a),是個指標,後面就是int [3],是個陣列。

20樓:匿名使用者

因為 [ ]的優先順序 會比 *號高;所以 int *a[3]; a先與[3]結合 代表一個陣列;其次再與int * 結合;

其他的同wxhysoft

21樓:飄秋楓嵐

int *a[3]叫指標陣列,int *(a)[3]叫指向陣列的指標,名字都不一樣,用法也不內一樣。

int *a[3]一般用來存放一系列的字容符串。

如 int *a[3]=;

int *(a)[3]則基本等同於int a[3],用於在函式中做形式引數,接受傳來的資料。如

呼叫fan(a[4][3]);

函式int fan(int *(a)[3])

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

七彩虹科技 int a 5 這裡的a是行指標,指向的是一個5的陣列,那麼它的單一跨度為5,即a 1,那麼它指向的數值要從首地址向後移動5個位置 int a 5 這只是一個int陣列,a是它的首地址,a 1,那麼它就指向第二個數值。區別很明顯了。 沃杆妮釀 int a相當於引用 例如 int n 5 ...

c語言中 a 10是什麼意思,c語言int a 10 10是什麼意思

自我程式設計 如果在型別後面的話,就是定義陣列a大小維度10的意思。比如 int a 10 就是定義整型陣列a,大小10個整型資料大小 1個int佔 4位元組的話,就是佔40個位元組大小的記憶體 如果是在表示式中,比如 a 10 1 這裡a 10 就表示a陣列第11個元素 陣列下標是從0開始的,10...

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...