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])
一道C語言的題目定義int a 5,b則執行表示式b
1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子。2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正號運算子 負號運算子 型別 型別轉換運算子 指標運算子 地址運算子 sizeof長度運算子。3級優先順序 左結合 乘法運算子 除法運...
c語言結構體定義,C語言結構體定義
c語言結構體定義 struct為結構體關鍵字,tag為結構體的標誌,member list為結構體成員列表,其必須列出其所有成員 variable list為此結構體宣告的變數。結構體是c語言中聚合資料型別 aggregatedatatype 的一類。結構體可以被宣告為變數 指標或陣列等,用以實現較...
C語言結構體定義,C語言結構體定義 25
chanrich輕輕 所謂結構體陣列,是指陣列中的每個元素都是一個結構體。在實際應用中,c語言結構體陣列常被用來表示一個擁有相同資料結構的群體,比如一個班的學生 一個車間的職工等。結構體可以儲存不同的資料型別,將他們互相聯絡起來。結構體陣列可以連續儲存多個結構體,和陣列作用相似。比如想定義同一個最小...