指標的型別與指標所指向的型別一致嗎

2021-05-17 06:17:19 字數 3561 閱讀 6368

1樓:匿名使用者

可以不一致。。。指標的型別決定了 對指向資料的操作方式。如果將一個char*指標指向一個struct結構,那這個指標只能按char的方式訪問這個struct的資料

2樓:匿名使用者

對~各種型別指標需要和指標所指向型別一致才合法

「指標的 型別」和「指標所指向的型別」有什麼區別

3樓:匿名使用者

你說的對,在32機器裡,指標的容量就是4位元組的。指標的型別實際上就是指標所指向的變數的型別。

為什麼在宣告指標的時候要宣告出它所指向的變數的型別呢?

因為,例如: int * p;

在以後的程式中有可能要做 int a=*p的操作,所以* ,即取值操作就要知道p所指向的空間裡存放的變數的型別,根據不同的型別,*操作會讀取不同長度的連續空間,例如:int 4位元組;

double 8位元組。

4樓:匿名使用者

只有「int型別的指標」才能用來指向「int型別的值」;其他型別的指標不行。

指標是指向記憶體種的一塊記憶體空間,而這塊空間的大小要根據指標指向的資料的型別的長度來分配。

比如:int型需要4個位元組的空間,long需要8個位元組的空間。

所以在定義指標的時候要指明指標的型別,這樣程式才知道應該在記憶體中保留多大的空間給這個指標。

指標的型別,指標所指向的型別之間有什麼區別

5樓:尋秦記記

指標的型別就是指標所指向資料的型別,它倆是一個意思

指標指向不同型別資料時,指標變數佔用多大空間?

6樓:時方仲孫曄

變數的指標就是變數的地址。存放變數地址的變數是指標變數。即在c語言中,允許用一個變數來存放指標,這種變數稱為指標變數。

因此,一個指標變數的值就是某個變數的地址或稱為某變數的指標。

為了表示指標變數和它所指向的變數之間的關係,在程式中用「*」符號表示「指向」,例如,i_pointer代表指標變數,而*i_pointer是i_pointer所指向的變數。

因此,下面兩個語句作用相同:

i=3;

*i_pointer=3;

第二個語句的含義是將3賦給指標變數i_pointer所指向的變數。

7樓:貝茉光盼香

在c中,

指標只有3種:

指向簡單變數的,

指向結構體變數的,

指向函式的.

他們的大小和指向的型別無關,

基本都是一樣的,

等於地址寬度.

在16位的地址的系統裡,

用段:偏移

來表示一個地址,

當只用偏移的時候(段內)稱為near指標,當段偏移都用的時候(跨段),

稱為far指標,

far指標佔用空間大於near指標.

但是在32位系統中,

指標大小是統一的.

在c++中,

指向簡單變數,

簡單結構體物件,

和簡單函式的指標是和c一樣的.

但是,對於有多繼承的物件,

指標可能需要記錄一些額外的資訊,

可能會更大一些.

你可以用

sizeof(xx)來測試各種指標的大小,需要注意的是,

不同的編譯器結果可能不一樣.

最後的結果是:

一般而言,

指標大小是固定的,

並不因為其指向的物件型別而改變.

然而並不總是這樣.

8樓:王一是個好青年

指標變數佔用空間大小等於地址寬度。

指標變數的大小和指向的型別無直接關聯,基本都是一樣的,等於地址寬度。

同一編譯器下,同一編譯選項下所有型別的指標變數大小都是一樣的,指標變數的大小是編譯器所對應的系統環境所決定的,或者說是由編譯器決定的。

指標變數是指存放地址的變數。因地址的改變而做出指定性質的衡量變法。

9樓:逢茂表正奇

c,指標3種:

指向簡單變數

,指向結構體變數

,指向函式.指向

型別關,

基本都,

等於址寬度.

16位址系統,

用段:偏移

表示址,

用偏移候(段內)稱

near指標,

段偏移都用

候(跨段),

稱far指標,

far指標佔用空間

於near指標.

32位系統,指標

統.c++,

指向簡單變數,

簡單結構體

象,簡單函式指標c

.,於繼承

象,指標

能需要記錄

些額外資訊,能更

些.用sizeof(xx)

測試各種指標

,需要注意,同

編譯器結能.

結:般言,

指標固定,並

其指向象型別

改變.並總.

指標型別與指標所指向的型別 5

10樓:匿名使用者

不一定要相同。

以前的機器有near和far指標,現在的機器一般都是32位指標。也就是說計算機用一個32位地址值定址。

所以,所有指標其本身是佔用long位元組大小的。

指標型別其實是告訴編譯器怎麼解釋指標所指向物件。當一個物件有資料成員,或者可以拆分成多部分資料物件時,可以做指標的型別轉換。

11樓:匿名使用者

不一定。

例int a = 65; 其實就是字元a的ascii碼的值char * b;

b = (char*)&a;

將b指向a的地址,這個也是可以的,只是需要強制轉換一下這時你可以列印下b的內容

printf("b = [%s]",b);

可以得到 b = [a]

#include

#include

void main()

12樓:匿名使用者

指標型別就是指該指標所指向的實體的型別。要相同。

其實指標本身沒有型別,因為都是地址。

13樓:菜鳥升級中

指標的定義是通過指標找到記憶體單元的一個地址並從地址內找到相應的資料

指標的型別是告訴編譯器該指標指向什麼型別,如果不一致,會導致提取響應資料的時候溢位或缺失。

一個特例是void型指標,他可以指向任何變數,沒有型別=所有型別,學好再用,很危險

14樓:匿名使用者

void *p 可以指向任何型別

只是在轉換的時候前面加上型別

int *pint = null;

void *p = pint;

cout<<(int *)p<

15樓:匿名使用者

指標變數賦值、傳遞是沒有問題的,

但是在使用*做引用操作的時候,

型別不同,效果就不同,那肯定有設計邏輯上的錯誤。

常見的手錶指標型別有哪些,常見的手錶指標的型別有哪些

指標 常見的以黃銅 k金 藍鋼為主,材質輕薄,準確度高。常見指標型別 寶璣針 經典復古造型,有一種尊貴精緻的感覺棒形針 簡潔大方 柳葉針 優雅 俏皮和柔美,親和感 筆形針 多一份稜角和力量感,硬朗氣質,表現傳統與淡雅劍形針 中規中矩,多一份知性的魅力 太子妃針 傳統 簡潔 多一份力量之美 黑桃針 傳...

各氣候型別的氣溫 降水指標,世界各地氣候型別的分佈(氣溫降水圖)

怎麼根據降水,氣溫表判斷氣候型別.我現在 怎麼通過氣溫和降水量來判斷氣候型別?怎麼通過氣溫和降水量來判斷氣候型別 各種氣候型別的降水狀況 熱帶沙漠氣候,溫帶沙漠氣候 降水量在200mm以下。溫帶草原氣候,亞寒帶針葉林氣候降水量在200 500mm之間。地中海氣候,溫帶溼潤性氣候,溫帶季風氣候降水量在...

C中指標本身的值和指標指向的值有什麼區別

指標本身pa的值是一個變數的地址 a,而指標pa指向的值是變數a的值,不知道說清楚沒有。1.指標本身是一抄個變數,存放的值襲是32位的無符號整數,這個整數是一個32位的地址。2.通過這個32位的整數地址值,可以找到另外一個資料,就是這個指標指向的資料了,可以是任何了型別的資料。也就是指標指向的值了。...