1樓:匿名使用者
不是一樣的, 前者是正確的, 表示p不指向任何地址
p[0[ 不能這樣用,你是往p[0]這個記憶體中寫入字元'\0'
由於p還沒有申請記憶體,所以這樣操作它是錯誤的
2樓:匿名使用者
不等,int *p,其中p表示的是指向int型別的指標,p[0]表示的是指標p所指向的記憶體單元的值,打個比喻,int *p中的p有點類似於a[0]中0的角色,而不是a[0]的角色
3樓:
p是一個int指標,其實是一個int型別變數,p[0] = '\0'你是指的p為char*型,所以不等於。
定義int *p;p=null和p=0還有p=『\0』的意思一樣麼?
4樓:匿名使用者
null ,0,'\0',這幾種寫法一樣,值都是0在很多編譯器中#define null 0這樣巨集定義的都是給p的值賦值0,'\0'就是0,不過是以字元的形式,
因此他們是相同的
有*p=null,*p = 0,*p = '\0『,這樣的寫法,不過他們的意思是說,給p這個指標指向的空間賦值為0
但是,不要先把p賦值為0,然後這樣寫,因為大多數編譯器規定,記憶體為0的地方不能寫操作,這是為了保護這個記憶體空間,因此只要不寫在一塊,都可以
這樣寫:
file1.c
#include
void main()
file2.c
#include
void main()
5樓:泡泡愛亦菲
p = null和p = 0;是一樣的,講指標初始化為空,這是初始化指標的一個方法,
因為在使用一個變數 之前 的時候最好將其初始化而p = '\0' 是將p指向'\0'的,'\0'是個字元,所以p等於\0的地址
*p = null,
*p = '\0'
這兩個語法上都沒錯,
c語言中 int *p=null; 則這條語句是不是錯的? *p=0
6樓:匿名使用者
前面int *p=null;就是定義bai一個du空指標。zhi但後面*p=0;可以正
dao常執行的前提,是這個p指標指向了內一個合法記憶體空間容。
譬如:int a;
int *p=null;
p=&a; /*p指向變數a的地址*/*p=0; /*這裡的意思就是把0寫入p指向的記憶體空間,也就是變數a存放的空間,這樣就改變了變數a的值*/
這樣是可以的。
7樓:匿名使用者
沒錯,這是定義一個指標變數p,並賦值為空,用以說明該指標沒有任何指向性。
該指標的值為null在儲存單元中的指向為0,也就是不指向任何地址。單看這一條語句的話,是沒有意義的。
8樓:匿名使用者
p賦為null,之後再賦值是可以的,但*p=0,本身就有問題
9樓:非常可愛
c語言bai
中int *p=null意思是:
c語言du中p裡面是隨機值,在zhiint *p=null,這個p是有值的,dao為null;
int *p=null指向一個空指標專,等於屬 int *p=0; null等於0;
可以隨時讓這個p指向其他地址。定義指標,將它初始化為null,這樣做程式設計更規範。
擴充套件資料
*p = null的作用
代表對一個由指標p指向的變數(什麼型別,不知道),賦值為0,是將那個變數賦值為0。
int *p;
*p = null;
第一行**,定義了一個指標變數p,其指向的記憶體裡面儲存的是int型別的資料;但是這時候變數p本身的值是多少不得而知,也就是說現在變數p儲存的有可能是一個非法的地址。
第二行**,給*p賦值為null,即給p指向的記憶體賦值為null;但是由於p指向的記憶體可能是非法的,所以除錯的時候編譯器可能會報告一個記憶體訪問錯誤。這樣的話,可以把上面的**改寫,使p指向一塊合法的記憶體:
int i = 10;
int *p = &i;
*p = null;
c語言裡int *p; if(*p==null)和if(p==null)有什麼區別 我不怎麼理解這
10樓:
帶*號是取值的意思,即取指向地址的值。
所以if(*p == null)是判斷指標p指向的地址儲存的值是否為null
if(p == null)是判斷指標p是否指向null希望對你有幫助。
11樓:聽不清啊
int *p;的話,
*p是一個int值,所以,if(*p==null)是不對的。
12樓:匿名使用者
不理解慢慢理解。用腦子。。。。。
c語言中int *p=null是什麼意思
13樓:非常可愛
c語言中
int *p=null意思是:抄
c語言襲中p裡面是隨機值,在int *p=null,這個p是有值的,為null;
int *p=null指向一個空指標,等於 int *p=0; null等於0;
可以隨時讓這個p指向其他地址。定義指標,將它初始化為null,這樣做程式設計更規範。
擴充套件資料
*p = null的作用
代表對一個由指標p指向的變數(什麼型別,不知道),賦值為0,是將那個變數賦值為0。
int *p;
*p = null;
第一行**,定義了一個指標變數p,其指向的記憶體裡面儲存的是int型別的資料;但是這時候變數p本身的值是多少不得而知,也就是說現在變數p儲存的有可能是一個非法的地址。
第二行**,給*p賦值為null,即給p指向的記憶體賦值為null;但是由於p指向的記憶體可能是非法的,所以除錯的時候編譯器可能會報告一個記憶體訪問錯誤。這樣的話,可以把上面的**改寫,使p指向一塊合法的記憶體:
int i = 10;
int *p = &i;
*p = null;
14樓:衄潲
樓上bai說的都對,看來你是新du手,建議你去看林銳zhi
的《高質量daoc++》,這本書,內你一定會喜歡的,因容
為他對於入門者來說特別好,他會給你講正確的程式設計規範是什麼。其中那塊講指標的部分就寫了,定義指標,一般先給初始化,用null來初始化它,避免野指標。你這裡說的int *p,這個p裡面是隨機值,而int *p=null,這個p是有值的,為null.
這其實對程式也沒有啥貢獻,在後面你也可以隨時讓這個p指向別的地址。定義指標,順便將它初始化為null,這樣做程式設計更規範。
假設有定義 int *p; 那麼p[0], &p, &p[0], (&p)[0], *p 分別代表什麼?
15樓:
p[0]就是*p 就是p所指向的記憶體中的值&p是p這個指標本身的地址,&p的型別是int**&p[0]就是p[0]的地址,也就是p
(&p)[0],就是*(&p),也是p
*p,就是前面說的p[0]
由f浮等於p肉液gv排可推算出p肉等於什麼
可以得出密度等於浮力除以重力加速度和排開水的體積的積 中考f浮 p液gv排公式可以直接用嗎?可以直接使用f浮 p液gv 阿基米德原理的內容是 浸入液體中的物體受到向上的浮力,浮力的大小等於物體排開的液體受到的重力.阿基米德原理的數學表示式 f浮 g排 p液gv阿基米德原理也適用於氣體。可以直接用 f...
Help yourself 是否等於 Enjoy yourself ,給我例句
不是啦,help yourself是隨便點,enjoy yourself是祝你過的開心,比如help yourself to some cake a tomorrow,i ll go to the beach.b enjoy yourself help yourself和enjoy yourself...
關於卡方檢驗P值的意義,P值恰好等於0 05,請問這樣可以說
如果確實是這樣,應該是接受原假設 也就是沒有統計學意義 因為不管那本參考書或統計軟體都是說小於a 不包括等於a 例如a 0.05 就拒絕原假設。不過,如果你是使用統計軟體的話,應該不存在這個問題,因為統計軟體計算的p值可以高達十幾位小數點,不可能出現你說的情況。原因很簡單,在統計學領域,p小於a 不...