c語言characharpa什麼意思

2021-03-03 21:27:15 字數 2012 閱讀 9499

1樓:zz迎風

char *a是定義一個char型指標變數a,後面緊接著char *p=a,是定義一個char型指標變數p,並且p和a指向同一個位置。指標裡好像有一個說法是什麼:定義、關聯、引用,三者有順序

2樓:李旭展

字型常量,帶星號的話a直接定義為字型常量。帶星號的p為指標變數,a也定義成字型常量

c語言裡:char a[5],*p=a,這裡a是一個字元,還是首地址,為什麼?

3樓:匿名使用者

首地址,

char a[5],

這樣宣告就指明a 是首地址,字元的話應該寫 'a'

4樓:留下痕跡的人生

char a[5];

char *p = a // 相當於 char *p = &a[0],區別只是兩種不同的寫法

5樓:酷哥

首地址,指標只能存地址,a是陣列a[5]的陣列名,即陣列的首地址

char *p=a和char*p=&a有什麼區別

6樓:匿名使用者

有區別char *p=a,這個a一般來說是陣列,要不然出錯

char*p=&a 這個a一般來說是一個變數

7樓:謝應宸

前者自a是一個

指標變bai量

後者dua是一個zhichar型變數

參考#include

int main ()

8樓:曦夕兮

這個copy問題主要核心是&的作用bai和使用方法。

&有倆個用法du

1:&是引用的意思

顧名思義,&後面zhi新增的變數作出的返dao回值就是該變數本身的副本

舉個例子char*p=&a,此時p是a的一個副本,對p的任何操作都會改變a的值,當然,對a的任何操作也會改變p得值,也就是p和a是一個概念

2:&是取地址的意思

顧名思義,就是&後面的變數的地址是這個操作的返回值舉個例子,char*p=&a,此時指標p指向的地址就是變數a的地址單純看你的這倆句不能準確的說出來倆者的區別,具體區別需要看**的上下文以及**的實際使用情況

9樓:阡陌梨園

&為連線符,前一句為一個關係式,程式會自動運算結果,最終只返回a值,後一個關係式,可能程式不會運算,具體結果你可以除錯執行一下

c語言中,char a[] = "abc"; char *p = "cdef";

10樓:

char a = "abc"; 中a是陣列抄名,編譯時為其分配

襲4個char單元,前3個單元用「abc"中的字元對應初始化,最後一個存放'\0';char *p = "cdef";在編譯時先生成"cdef"字串常量,存放在常量區,並將首地址(c的地址)賦給char *型指標變數p。從以上可見,a是陣列,所以其中的元素abc都可變,可以重寫;而p指向的是常量,不可更改。

11樓:

區別就在於,陣列名a和指標變數p雖然本質上都是地址,但是陣列名a它的地址是不變的

內,即它是一個常指標,容指向是固定不變的;但是指標p是個指標變數,它的指向是可以改變的,你可以將a的地址賦值給p,即p=a;那麼指標p就指向了陣列a的首元素地址了,但是陣列名a它在賦值語句中是不能做左值的,因為它是一個常指標,和一個常量沒什麼區別。

12樓:匿名使用者

a定義是一個字串

陣列,*p定義的是一個字串常量。陣列名a是一個常量,指標p是一個變專量,屬當用作指標時,都能使用a+1,p+1,但是p++正確,a++錯誤,

通過a能改變陣列裡的元素的內容,但是不能通過p來改變它指向的字串,因為常量是不能更改的。a[2]=d正確,p[2]=d錯誤

13樓:匿名使用者

sizeof(a)=4 sizeof(p)=4 這裡不一樣

C語言和C 有什么不同,C語言和C 有什麼不同

c語言與c 的區別有很多 1,全新的程式程式思維,c語言是程序導向的,而c 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在一個標頭檔案中 而c 對於大多數的函式都是有整合的很緊密,特別是c語言中沒有的c 中的api是對window系統的大多數api有機的組合,是一個集體...

c語言中35怎麼解釋,C語言中35答案為什麼是

include main 執行結果 3 5 3 3 5 3 3 5 3 3 2 1 3 2 1 3 5 3 4 5 4 4 5 4 0 5 0 n m,先分別對n和m取絕對值進行取餘運算,結果的符號與專n一樣,與屬m無關。前面那個來3沒有用,就是一個普通字元自 後面的 5,5代表bai後面列印 du...

大學C語言,為什麼選B,求解,這道c語言題為什麼選B

解釋如下 bai,b輸出的字du符zhi實際上是空格字元,dao 如下 include int main 執行結果 f c work a.exe please input a and b 1 2a 1,b a 49,b 32 字元1的ascii碼是49,空格的權ascii碼是32 為什麼是空格呢?輸...