當前位置:編程學習大全網 - 編程軟體 - c++指針的問題

c++指針的問題

妳的理解不對。

妳可以把指針也看做壹個變量,只不過是變量的類型是指針。

int *a;這句話意味著妳定義了壹個變量a,a是壹個指針,而且a還沒有被賦值。

也就是說a的值目前來說是不可知的,而指針是用來表示壹個地址的,也就是說a目前指向什麽地址,妳是不知道的。

*a = 10;這句話是說,為a所指向的地址,賦值吧。而a所指向的地址目前是不定的,因此這句代碼是壹句很危險的代碼,優秀地編譯器應當讓它報錯。

所有的指針,都需要為它明確賦值後才能操作,當然賦值的方法有很多種:

比如:

int b; a = &b; //這兒定義了壹個變量b,把它的地址賦給a了

int c[10]; a = c; //這兒定義了壹個數組c,把它的起始地址賦給a了

a = 0xaabb; //這種做法甚至都可以,當然妳得假定0xaabb這個地址是壹段妳可以操作的內存

當然如果妳僅僅使用a作為指針變量的話,妳可以為它賦任意值,只是妳要操作它指向的地址的內容時,才需要保證其指向的位置的內容是有效的。

a = new int();也是壹種方法,過程是先創建了壹個int型的變量,然後把它的地址賦值給a了。

  • 上一篇:測量員隧道斷面庫導入dxf角度不對。
  • 下一篇:如何在VC++6.0中使用C語言簡單的繪圖畫圖功能
  • copyright 2024編程學習大全網