1樓:帥得有點壞
第一句話錯,
原因是:int的指標變數p裡可以放空指標或是一個整型值,int型的指標就只能存放int,這裡的null意思是申明p指向空,不是存放空指標。
第二局也不對
int *宣告的指標變數裡面放的不應該是一個指標麼?
裡面存放的是一個地址,他指向一個int
所以應該p=&a;
你的這種p=&5的寫法是不對的,只能記錄下變數的地址,
2樓:匿名使用者
1.可以這麼說。int *p;你不賦址也可以。不是「放」,而是「指向一個地址」。
2int *p=&5;//是錯誤的。&符號是取「空間地址」的意思。
p=&a;//這樣可以,表示取a的空間地址賦給指標p。
//字元「5」本身是值,沒有空間沒有地址。
int a=5;//表示申請一段空間,空間中存上「5」這個值!!
3樓:
int *p=a;//定義指標變數a的指標
這句是錯的,p是指標,只能指向地址,可以這樣int *p=&a;//定義指標變數p指向a的地址
int *p = &5;不能這麼寫,不能對常數取地址
4樓:匿名使用者
1、定義指標變數的一般形式如下:
型別名*指標變數名1,*指標變數名2,... *指標變數名n ;
2、 空指標
空指標是一個特殊的指標,它的值是0,c語言中用符號常量null(在stdio.h中定義)表示這個空值,並保證這個值不會是任何變數的地址。空指標對任何指標型別賦值都是合法的。
一個指標變數具有空指標值表示當前它沒有指向任何有意義的東西。
3、 void指標
(void *)型別的指標叫通用指標,可以指向任何的變數,c語言允許直接把任何變數的地址作為指標賦給通用指標。但是有一點需要注意void*不能指向由const修飾的變數第三句是非法的,只有將ptv申明為const void * ptv;上述第三句(ptv = &test),才是合法的。
5樓:匿名使用者
p中存地址 *p指 p地址指向的內容 a 直接就是值
變數定義和變數宣告的區別
6樓:佳佳萬萬
變數的定義用於為變數分配儲存空間,還可以為變數指定初始值。在一個程式中,變數有且僅有一個定義。 宣告用於向程式表明變數的型別和名字,定義包括宣告:
當定義變數時宣告瞭它的型別和名字。可以通過使用extern關鍵字宣告變數名而不定義它。
定義指標變數時候2種寫法有什麼區別int* p和int *p 20
7樓:匿名使用者
這兩種寫法的功能沒有區別。
這個程式出錯是因為你沒有為p分配空間,所以5就無處可放,所以出錯:
#include
#include
int main()
------------------------------------------
附:網友「loveqzl」的說法是不正確的,這兩種寫法的作用是一樣的,只不過第一種用法會使程式設計師產生一種錯覺,錯誤地認為int*是一種資料型別,這種認識就會使其寫出類似「int* a,b」這樣的指標定義語句,但是這樣做,b就不是一個指標,而是一個int變數
******************************************
80407003
8樓:月夜儛
這兩種定義方法是一樣的吧
printf("%d\n\n",*p)應該是printf("%d\n\n",&p);
9樓:匿名使用者
樓上的說的很好,建議大家養成int *p,*q這種習慣,如果int*連寫的話,容易犯int* p,q這樣的錯誤.
10樓:匿名使用者
沒有區別
int* p 是c++寫法
int *p 是c寫法
int *p;
只是一個指標 你沒有用他指向任何地址的時候不能附值比如:
int q;
p = &q;
*p =5;
就沒問題了
連續宣告多個指標的兩種寫法
int* a;
int* b;
orint *a,*b;
(參見c++primer p102)
11樓:軒逸草
int* p和int *p 寫法沒啥區別,不過我們習慣上用 int *p
下面我重點給你講一下你的程式出錯的原因吧!
int* p=null;在stdio.h標頭檔案中就有對null的定義,它是一個符合常量,就是整數0.故該語句表示p初始時不指向任一有用的單元。
所以如果你想用語句*p=5; 給p所指單元賦值的話,可以先定義一個int型的變數如a,然後讓p再指向a(即p=&a;),這樣你的程式就ok啦!
再有一種麻煩點的改正方法,就是使用分配記憶體空間函式malloc,其呼叫形式是:
(型別說明符*)malloc(size)
其功能是:在記憶體的動態儲存區中分配一塊長度為「size"位元組的連續區域。函式的返回值為該區域的首地址。
(型別說明符*)表示把返回值強制轉換為該型別指標,「size"是一個無符號整數。
12樓:
瞭解了 原來是寫法區別
13樓:考陣
汗,int* p和int *p
簡直是兩個事情啊!
一個是宣告都錯了,
第二個才是正確宣告:-)
typedef結構體指標變數再去定義變數什麼意思
driverextension是一個你自己命名的結構體的名字 看起來是驅動拓展?結構體裡的結構是自己定義的,不過這個結構體貌似是引用了另一個結構體。你說的pdriver extension driverextension就是這樣定義結構體的,沒有問題 typedef是自定義型別,相當於,用pdriv...
VB定義變數的問題,vb定義變數的問題
這屬於結構體變數,你可以使用變數的元素,例如 可以呼叫 abc.name 也可以給它賦值,或者abc.class 總之就是類似與陣列元素,你可以使用其中的元素,但不能用一個整體來使用,但定義的時候可以整體定義,例如 dimabc asstudent,定義了abc 那麼abc就自動包含了2個元素,一個...
Flash題目定義變數時宣告資料型別的形式為
var 變數名 變數型別 如 var n number 以上宣告一個數字變數 var s string 以上宣告一個字元變數 var a array 以上宣告一個陣列變數 var var1 number flash 的定義變數怎麼使用啊?舉個例子 有10個mc,分別是mov1 mc,mov2 mc....