ptr和ptr 一樣嗎,c語言中 ptr 和 ptr 1有區別嗎

2021-03-18 01:45:35 字數 1891 閱讀 8047

1樓:宮恨秋

ptr -- pointer (指標)縮寫。

彙編裡面 ptr 是規定 的 字 (保留字)。

mov ax,bx ;是把bx暫存器「裡」的值賦予ax,由於二者都是word型,不用word

mov ax,word ptr [bx];是把記憶體地址等於「bx暫存器的值」的地方所存放的資料,賦予ax。由於只是給出一個記憶體地址,不知道希望賦予ax的,是byte還是word,所以需要用word明確指出!

c語言裡 ptr 是 程式設計師自己 寫的變數名字,不是保留字。當然,它可以是 指標。例如:

float a[5];

float *ptr;

ptr = &a[0];

c語言中*ptr++和*ptr+1有區別嗎

2樓:

當然有區別, *ptr++是先取ptr指向的值,執行過後ptr執行++動作,而*ptr+1是1和ptr指向的內容相加,完全不一樣

c語言中*ptr+1和*ptr++是不是都指指標所指的值再加上一

3樓:電控王子

*p+1中* 的優先順序高,所有是所指的值加1

*p++中* 和++優先順序一樣,結合方向自右向左,因此等價於*(p++),指標指向下一個元素

4樓:黑色的夢

不是。*ptr+1指的是指標ptr所指向的值+1所對應的值。

*ptr++在引用之前*ptr++所對應的值仍是*ptr所對應的值,在引用完之後指標ptr所指向的值自身+1,其值為之前的值+1。

c++ *ptr+1和*(ptr+1)的區別

5樓:

*(ptr+1)是指標變數ptr(陣列)指向的首地址後的(第二個)元素的值;

*ptr+1是指標變數ptr(陣列)指向的首地址(第一個)元素的值加1。

注:有括號先算括號裡面的,也就是*(ptr+1)中先將指標指向ptr+1,再求值;而*ptr+1,先求*ptr,再加1。

6樓:

不一樣,*ptr+1=1;*(ptr+1)=1;雖然結果一樣,但是這是因為你的陣列裡存放的資料特殊。解釋:*ptr是取陣列的第0個元素,也就是0,然後再+1,即0+1=1;*(ptr+1)先是ptr指向的地址加一,就由原來指向陣列的第0個元素地址變成指向陣列的第一個元素(1)的地址,在*(),就是取陣列得第一個元素1;

7樓:

*ptr+1 是將指標的內容加一,這裡是a[0]的數值加一

*(ptr+1)是將指標後移一個單位後取內容,這裡是a[1]的數值

c語言中*ptr+1和ptr+1有什麼區別

8樓:昂首都

*ptr是ptr指向變數的值,*ptr+1就是把這個值+1,是一個變數

ptr+1是ptr指向記憶體地址往後移動一個單位大小(取決於變數)後的地址,簡單講就是ptr指向變數的後一個變數的地址,是一個指標

9樓:亥周苗富

當然有區別,

*ptr++是先取ptr指向的值,執行過後ptr執行++動作,而*ptr+1是1和ptr指向的內容相加,完全不一樣

c語言中ptr+1,*ptr+1,*(ptr+1)有什麼區別

10樓:物理公司的

假設int a[5]=;

int *ptr = a;

*(ptr+1)是指標變數ptr(陣列)指向的首地址後的(第二個)元素的值;

*ptr+1是指標變數ptr(陣列)指向的首地址(第一個)元素的值加1。

指標直接加1沒什麼實際的意義ptr+1

c語言中,p為指標,那麼p和p是一樣的嗎,有什麼區別呢

區別為 windows 7,中文名稱視窗7,是由微軟公司 microsoft 開發的作業系統,核心版本號為windows nt6.1。windows 7可供家庭及商業工作環境 膝上型電腦 平板電腦 多 中心等使用。c語言是比較基礎的程式語言,是學好組合語言的基礎,所以學好c語言很重要。在資訊工程中,...

C語言裡陣列名是地址嗎,C語言中陣列名和指標的區別

是地址,可以稱作陣列地址,也可以看成第一個元素的地址。舉個例子 include int main int argc,char argv p array printf p 2 d n p 2 return 0 這個程式輸出結果如下 p 2 3 程式的第六行 p array 就是把陣列地址賦值給地址變數...

c語言中檔案路徑和有什麼區別嗎

unix使用斜杆 作為路徑分隔符,而web應用最新使用在unix系統上面,所以目前所有的網路地址都採用 斜杆 作為分隔符。windows由於使用 斜杆 作為dos命令提示符的引數標誌了,為了不混淆,所以採用 反斜槓 作為路徑分隔符。所以目前windows系統上的檔案瀏覽器都是用 反斜槓 作為路徑分隔...