1樓:
在宣告語句中的「*」是與前面的型別符號配合的,而不是與後面的變數名配合的,如int *p;是宣告瞭一個int *型指標變數p,而不是一個int型變數*p;指標變數是p,所以後面賦值時不得再加"*"。
指標p並沒有賦值,是野指標,不能作右值。
運算表示式中單獨的「*」基本就兩種情況:一是在指標前,它是取指標所指物件的值;二是在兩個變數間,它是乘號。*p2 = *p1 * *p2;的意思是*p2 = (*p1) * (*p2);,它就是把p1指向的變數的值即i的值乘以p2指向的變數的值即j的值,將其結果賦給p2指向的變數即j。
所以這裡p1、p2前面的「*」是取值操作符,顯然和宣告語句中的"*"不是一回事。
mat = new int *[nmaxrow];在[nmaxrow]前的*的意義已在第一問中回答了,它是與int配合使用的,意思是建立一個元素個數為nmaxrow的存放int *型指標的動態陣列,將將第一個元素的地址賦給指標變數mat。
2樓:匿名使用者
宣告變數時加 * 是說明它是指標型別
使用時加 * 的作用是,取出其值,當變數使用#include
c++中的 引用型指標引數如 (類名 *& 變數名),這是怎麼用的?該如何理解?
3樓:
指標的引用,指標它也是一個變數,*&就和普通變數的引用一樣,也可以理解為指標變數的別名。如int*& a,那麼在函式裡面對a的值進行改變,那麼在呼叫函式時傳入的引數的指標值也會改變
再實際點的例子,void*& fun(int*& a);呼叫時,有一個指標int* pointer = null;,然後fun(pointer),在fun裡面對a重新賦值,a = &other,那樣子外面pointer的值也就變成了&other
在c++中,指標中,&符號有什麼用?應該怎麼用,謝謝了,我是初學者。
4樓:
在指標中,&表示取地址,如
int i;
int *p;
p = &i;
表示把變數i的地址賦給另一個變數p,只不過這個變數p只能存放地址。
在c++中&還有一個意思表示引用,如
int i;
int ii = &i;
表示變數ii是變數i的引用,就是另外又給i起了一個名字叫ii,如此一來,ii就是i,i就是ii
就像有的人有外號一樣,外號就是真是名字的引用,注意,定義引用的同時必須初始化
引用經常用來代替指標作為函式引數,既簡單,也容易理解。
5樓:郝在益
&通俗一點就是取地址符號
c++的指標到底是幹什麼的,有什麼用?
6樓:匿名使用者
c++屬於需要手動操作記憶體的語言,指標就是指向某一記憶體的地址。這個gfw找本書看一下就ok了,
7樓:
它可以有效的表示複雜的資料結構;能夠動態的分配記憶體;方便的使用字串;有效而方便的使用陣列;在呼叫函式時能獲得1個以上的結果;能直接處理記憶體單元地址等。
8樓:
指標對於初學者很危險,更提倡用引用,也可以用容器來自動管理記憶體,如vector list map等等。
9樓:匿名使用者
在c語言中用一個指標變數指向一個檔案,這個指標稱為檔案指標。通過檔案指標就可以對它所指的檔案進行各種操作。
定義說明檔案指標的一般形式為:
file *指標變數識別符號;(fp)
10樓:
指標的優勢在於直接操作記憶體,速度快,直接
缺點是危險,十分危險!高手才用的東西!
11樓:匿名使用者
編寫程式的,一般做軟體開發的人經常用
c語言中指標加減問題,求解答C語言中指標問題真的求,搞不懂,求解答?
首先 float a 10 p,q p a 4 q a 7 那q p 2 a 4 與a 7 之間有兩個元素 這裡就不對了,q p 3 不是等於2,可以用printf d q p 看看。p 3 p 12 是地址按 位元組 排列的位置差,表示p 3和p之間有12個位元組 q p 3 表示q和p之間有3個...
c語言中指標中的是什麼意思,C語言中,指標中的 是什麼意思
在宣告int pirand中 表示這個變數是int型別的指標 在宣告之外 可以理解成一個運算子 或者一個函式 和 是一對逆運算 的意思是讀一個變數的地址 比如你宣告瞭int a a是a的地址可能是xx1001之類的可以在除錯裡看一下 的意思是讀一個地址指向的內容 pirand pirand rand...
c語言指標問題解答c語言中指標加減問題,求解答。
1.能通過指標p改變a裡面的值,前提是a不是常量且指標p不是指向常量的指標 只讀型指標 舉例 a int a 1,p a 此時a等於100了 p 100 b int a 1 const int p a 不能通過p改變a的值,因為p是隻讀型指標 只讀型指標可以指向變數,但不能通過指標修改它指向的變數的...