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