c語言中 指標的用法以及與位址的區別

2025-04-30 11:55:11 字數 3088 閱讀 2874

1樓:謝倫代嬋

果是在定義變數時候加在前面。

簡單的理解,粗耐扒是在定義變數的時候使用呢,還是在訪問變數的時候使用,就是你看它是在**使用,這裡把指標指向的值取出來賦給b,畝宴意思是這個變數是指標變數,如。

chara;

如果是在訪問變數的時候加在前面,意思是取這個位址中巖昌指向的值,如。

charb=*a;

上面定義了a是乙個字元指標。

2樓:史素花邶黛

位址——儲存器(記憶體等)的序號,一棟樓表示成記憶體,房間號就是位址。

指標——乙個儲存著察州地含氏址的變數(變數敗老蔽也是記憶體),也就是說好比乙個房間裡存放著另乙個房間的門牌號,這個房間就是個指標。

3樓:池奕聲戎嬋

指標是用來存喊慎放位址的。。。

如。char

p;char

strabcdefg";

這裡p就是指標,str就是位址。

可以對p進行賦值如。pstr;

這裡可以認為p指向str陣列的首位址,也可以鄭數敬認為str的首位址存到了p(記憶體空間)畢敏裡。

但是不可以str

p/太仔細沒法說,上面例子僅幫助理解。

指標和位址的區別是什麼?

4樓:問明

區別:以下面的情況說明:

1、int a = 5;

int* p = a;

結論:*p 是指標變數p指向的變數a的儲存內容,*p = 5;

p 是指標變數的儲存內容,因為p指向a,所以p的儲存內容(儲存空間的值)就是系統為變數a分配的儲存位址;

2、分析:int a = 5;

int* p = a;

int* q = p;

3、【說明】

1)上面的程式中首先宣告瞭乙個int型別的變數a,初始化為5;這個過程為:

2)在初始化時,儲存空間儲存的是int型的值5,儲存位址是由系統自動分配的,同理要宣告乙個指向a的指標,在初始化的時候賦值給指標變數的值應該是變數a的儲存位址,故而有 int* p = a;

4、在下面的程式中:

int arr

int* parr = arr;

同理,要是宣告另外乙個int型別的指標變數q:

1)int* q = p;

宣告瞭乙個int型別的指標變數,並將指標變數p的值賦予q,同樣是變數,a = 5,5是變數a的儲存空間的值,那麼p=?,p等於p儲存空間的那個值,即p=#ffa1(a的儲存位址);

現在將這個值賦給了指標變數q,正如a初始化的過程一樣,int a=5的過程,是將5儲存在了int型別變數的儲存空間之中,初始化指標變數q時,也是將等號右邊的值儲存在q的儲存空間之中,上邊的操作的結果如下:

使得指標變數q指向了變數a。

5、【說明】

從上面的操作可以看出,&p代表的是指標變數p的儲存位址。

int* q = p;

宣告瞭乙個指標變數q,並對其初始化,這一過程的操作如下:

為指標變數q初始化,q的儲存空間中儲存的值為5.

說明】1、從上面的操作可以看出,是將*p的值賦給了q,p指向變數a,p=#ffa1,而*p的過程就是獲得p位址處的儲存空間的值,即*(#ffa1)=5,也就是將5賦給了指標變數q,q的儲存空間儲存的是5;

2、指標變數是指向某一變數的變數,在其儲存空間中儲存的一般是其他變數的儲存位址,上面的初始化過程int* q = p;是非常危險的,有可能造成程式奔潰。

c語言指標的位址範圍是多少?

5樓:惠企百科

c語言的指標位址範圍是4位元組空間,即從位址0x00000000~位址0xffffffff。但其中有些欄位是系統保護的或所使用的硬體平臺根本就不存在,所以使用者指標並不能完全使用這個空間。不過使用者不必擔心,只要按規範使用指標,系統都會自動正確安排。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以乙個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言訂定了一套完整的國際標準語法,稱為ansi c,作為c語言最初的標準。

指標與位址的區別

6樓:南霸天

1、指標和位址最大的區別就是指標是有型別的,位址是沒有型別的。我們當然可以通過絕對位址的方式找到函式和資料,但是位址是沒有型別的,不能對位址進行算術操作,在涉及諸如陣列等操作時就不能通過位址的自增和自減來訪問陣列的各個變數。

2、指標是由位址和型別兩部分構成的,指向資料的指標不僅記錄該資料的在記憶體中的存放的位址,還記錄該資料的型別,即在記憶體中佔用幾個位元組,這是位址所不具有的。

7樓:行知漫步

指標是變數型別,它的值是位址,它作為變數是可以變化的。

位址是乙個數值而已。

8樓:網友

指標就像乙個容器,可以存放位址。性質上和變數與數值的關係差不多。

請問c語言中 指標是什麼?有什麼作用?請用通俗的語言解釋

9樓:網友

通俗的說,就是你家的門牌號,簡單地說指標就是指向變數和物件的位址。

指標的用途非常廣泛,比如如果你想通過函式改變乙個變數的值,就得用指標而不能用值傳遞。還有在很多時候變數,特別是物件的資料量實在太大,程式設計師就會用指標來做形參,只需要傳遞乙個位址就行,大大提高了效率。

10樓:笛芭訪

c語言中,指標變數代表的是乙個位址,這個位址可以是變數的,也可以是涵數的,陣列的等等,這樣我們通過指標變數就可以訪問到變數位址中存放的內容,或是呼叫函式等,它非常靈活,具體的好處在程式設計中你才能慢慢體會到的,好好學習吧。

11樓:網友

在電腦裡定義乙個量時會在記憶體中申請一的位址來存放這個值,而指標就是乙個存放值的位址的變數求採納。

c語言中指標的作用是什麼C語言中指標的作用是什麼?

指標指向地址,指標的特性就是在地址不變的情況下,可以很方便的修改所指向的內容 最重要的應用有兩個,一是函式引數,二是函式指標函式引數 函式返回值只有一個,如果想回傳多個引數,則必須使用指標函式指標 典型應用就是 函式 callback 簡單地說指標就是指向變數和物件的地址。指標的用途非常廣泛,比如如...

這些C語言指標分別是什麼意思C語言中指標和指標變數的區別是什麼??

都是看與p結合的優先順序 1 p是個陣列,p是含有3個元素的陣列,每個元素都是int指標 2 p是個指標,指向一個 只有3個元素的陣列 的指標。3 p是個函式名 即p是函式 只有一個int引數,返回值為int指標 4 p是個函式指標,指向 只有一個int引數,返回值為int 的函式。5 p是個函式指...

c語言中指標加不加有什麼區別,C語言指標什麼時候加星號什麼時候不加

剛開始學習 baic,同樣有這du個疑問,在網上zhi查了一下,沒 有什麼讓人一目了dao然的解釋。專用int x作為屬 例子。既然int x 只是定義了一個記憶體空間,儲存一個記憶體地址,那麼普通的int x應該也可以做到。int num 5 int x int x1 x 和 x1 同樣儲存的是 ...