/*話說吾輩終於成功通過研發工作室的筆試面試闖到了最後一關考核了呢,作為一個小白想起來真是有點膽戰心驚……然後身為c++考核組的成員我選了制作思維導圖的項目……首先自己有在用mindmap,有些自己的小想法想實現,就是比較有感覺吧(做計算器什麼的真是沒興趣orz),而且難度應該也適中……的樣子(我什麼都不知道orz)。兩個月從零學習c++還要在前輩指導下一個人做出一個mindmap軟件基礎版和進階版……要是能做成那真是18年來的首次奇跡呢所以這兩個星期主要刷anyview的題和學習c++,干巴爹*/
以指針*p為例:
①*p++/*(p+n):“*”和“++”的優先級相同所以運算順序從右向左(不過還是寫作*(p++)更能體現重點),因此“++”應用於指針自增1,如p指向a[0]地址(即a),則p+1指向a[1]地址,*p+1=a[1],而不是指針指向的數據自增1,同理在後面加上幾都是一樣的,不過加數字要打括號.
code:
1 #include<stdio.h> 2 int main() 3 { 4 int cww[]={1,10,100}; 5 int *a; 6 a=cww; 7 printf("*a=%d\n*(a+1)=%d\n*(a+2)=%d\n",*a,*(a+1),*(a+2)); 8 return 0; 9 }
運行結果:
②(*p)++/(*p)+n:即將指針指向地址所存放的值加上n.
③地址相關:
code:
1 include<stdio.h> 2 int main() 3 { 4 int cww[]={1,10,100}; 5 int *a; 6 a=cww; 7 printf("a =%d\na+1 =%d\na+2 =%d\n&(*a)=%d,以上整型都是十進制地址\n",a,a+1,a+2,&(*a)); 8 printf("a =%p是十六進制地址\n",&a); 9 return 0; 10 }
運行結果:
。。。感覺沒什麼東西呢
【END】