指針的自增


看題:

 若已定義 char s[10]; 則在下面表達式中不表示s[1]的地址的是。
A、s+1
B、s++
C、&s[0]+1
D、&s[1]

解析:

c、&s[0]+1取出s[0]的地址再加一 這個一不是說的字節數 好比指針指向下一個地址 也就是s[1]的地址

B、普通指針可以進行++、--運算,常指針不行,指向函數的指針也不行。如有:int a[10],*p=a;,則p++、++p、p--、--p都是合法的,而a++、++a、a--、--a不行,因為a是數組名,是常指針;被const修飾的常指針也不能進行++、--運算,如有int x,*const q=&x;,則q也不能再指向別處,q++、++q、q--、--q都是非法的。指向函數的指針進行++、--操作是沒有意義的,因為函數大小不一,一般也不是連續存放,所以對指向函數的指針作++、--操作也是非法的……

思考:&s + 1是什么?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM