程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 幾個關於數組、指針的易錯點

幾個關於數組、指針的易錯點

編輯:C++入門知識

指針變量是存放指針(某個變量地址)的變量,。

;這幾句話對理解指針非常有幫助。

 c =  *pointer = &c;

cout << c << endl;         
cout << *pointer << endl;  
cout << hex << &c << endl; 
cout << pointer << endl;   
cout <<  << endl;                          

 

 #---------------------------------------------------------------------------------#

指針基類型的作用:當用指針遍歷時,+1等於幾個byte取決與指針基類型;

 

 #---------------------------------------------------------------------------------#

數組與指針

指向數組第一個元素的指針。

是指向數組第一個元素的指針,即a相當於&a[0];

是"指向數組"的指針,將跨越16個字節;

了一級;

是數組的第一個元素a[0], 即*a等價於a[0];

了一級;

#include<iostream><iomanip>
  a[] = {,,,<< hex << a << endl;   
  cout << &a << endl;         
  cout << &a+ << endl;       
  cout << *(&a) << endl;      
  cout << *(&a)+ << endl;    
}

這是數組a在內存中的存放形式,非常有助於理解。

 

#include<iostream><iomanip>
  a[][] = {{,,,},{,,,},{,,,<< hex << a << endl;   
  cout << &a[] << endl;      
<< a+ << endl;        
  cout << &a[]+ << endl;    
<< *a << endl;         
  cout << a[] << endl;       
  cout << &a[][] << endl;   
<< *a+ << endl;       
  cout << a[]+ << endl;     
  cout << &a[][]+ << endl; 
<< &a+ << endl;       
}

 

指向數組第一個元素的指針。,可能是一個小數組(如上例);

了一級;

的一級;

 

 #---------------------------------------------------------------------------------#

指針用作函數返回值時,必須保證!

#include<iostream>
  * value1 =  & * value2 =  & *p, *==<< *p << endl; 
   

解決辦法: 將局部變量變為即可。或者也可以設為全局變量(不過這明顯不是個好主意)。

 *  value1 =  &

 

參考文獻

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved