c語言中移動指標p它移動了多少啊位元組嗎

2021-03-03 21:17:02 字數 1289 閱讀 5242

1樓:匿名使用者

不一定,要bai

看這個指標型別的基類du型,即:

如果是zhichar *p,那麼p++就移dao動一個位元組

如果是專int *p,那麼p++就移動sizeof(int)個位元組。屬

總之一句話,對於指標p而言,p++移動的位元組數是sizeof(*p)

2樓:示申僉

那要看指標變數p是個什麼型別,他移動的位元組數就是sizeof(指標變數p指向變數的型別)

比如:int *p;p是指向int型別的指標變數,那麼p++就移動了sizeof(int)個位元組,也就是4位元組

3樓:劍俠→戰天意

不一定,根據p指向的型別來的

int 的就是sizeof(int)個位元組

float 的就是sizeof(float)個位元組

c語言中,指標變數加1,意味著指標向後移動幾個位元組

4樓:gta小雞

這跟指標的資料型別有關。會移動和指標所指資料型別所佔用空間相同的位元組。

如char*型向後移動1個位元組,int*型向後移動4個位元組。

c語言關於指標地址加1 那麼他是怎麼移動的呢?

5樓:ccc菜辣椒

主要是看你定義指抄針的型別,比如你bai定義int *p=null; 那麼duint佔4個位元組。指向int的指標

zhi+1,該指標所指的記憶體地址要dao+4;如果你是定義 char *p=null; 那麼char佔1個位元組。指向char的指標+1,該指標所指的記憶體地址只要+1

剛學習c語言的朋友,對指標「移動」可能不太理解。舉個例子,例如下述**:

int a = 1;

那麼大家都知道a + 1肯定就是2了。如果是指標呢?例如:

int *p = 1;

p + 1還是2嗎?

為了說明問題,請看以下**:

6樓:小欽

說實話,我不懂你說的意思。c語言中,指標地址加一的話,就是指標變數的改變。這改變之後,經過編譯交由硬體實現。硬體在記憶體層面上對資料進行移動。

7樓:匿名使用者

主要是看bai你定義指標的型別,du比如你定義zhiint *p=null; 那麼int佔4個位元組。指dao向int的指標+1,該指標所指的記憶體內

地址要+4;如果容你是定義 char *p=null; 那麼char佔1個位元組。指向char的指標+1,該指標所指的記憶體地址只要+1

C語言指標函式,c語言中指標怎麼使用?

應該是的,還可以用f a i 的形式。去程式設計嗎?我學這些的是一頭霧水。c語言中指標怎麼使用?1 使用場景 使用指標時,必須將它指向一個變數的地址或者為它分配 空間方能使用,如下所示 include include int main int argc,char const argv int b,d...

c語言中用指標的好處有哪些C語言中指標的作用是什麼?

指標非常的好,它把相同的事物歸類,然後把事物做出標記,避免給相同的特點做變數。比如說你和你同學,你們兩個人都有心臟 肝 肺等器官,如果命名心臟1 心臟2這樣比較麻煩,這時如果用上指標,指向你說心臟時說的是你的心臟,指向你同學時說的是你同學的心臟,如果人非常的多,你不用指標,那麼命名心臟1 2 3 4...

c語言中關於指向陣列的指標C語言中關於指向陣列的指標

char str 100 char pi str 相當於char pi pi str char ppi pi 這個地方抄錯了。應為char ppi pi 定義加 表明這是指標型別的變數 用的時候,就是用的指標,加 幹什麼。只有取指標所指變數的值,或給指標所指的變數賦值的等涉及指標所指的變數的時候,才...