C語言第四篇:指標的辨析
一、基礎
地址:記憶體區的每一個位元組都有一個編號,這個編號就稱為地址。
指標:一個變數的地址稱為指標。
指標變數:專門用來存放指標(一個變數的地址)的變數稱為指標變數。
定義方法:
基型別 *指標變數名;
如:int *p1; float *p2;
二、疑難
1、記憶體單元的存取/訪問方式
(1)直接訪問——通過變數名訪問,如:printf("%d\n",a);
(2)間接訪問——通過指標變數訪問,如:printf("%d\n",*p);
2、指標運算子與取地址運算子
*p——指標變數p所指向的儲存空間(裡面的值)
&p——指標變數p的地址
&*p——就是p指標
*&p——就是p指標
下面用一段程式程式碼來辨析以上表示式:
測試程式碼:
/*
*Copyright (c)2016,劉兵馬俑
*All rights reserved.
*檔名稱:main.c
*作 者:劉兵馬俑
*完成日期:2016/03/22
*版 本 號:v1.0
*問題描述:C語言的指標運算子與取地址運算子辨析
*程式輸出:不同表示式的值
*/
#include <stdio.h>
int main( )
{
//定義整型變數和整型指標
int a=1;
int *pointer=&a;
//輸出整型變數的值以及指標的初始值
printf("整型變數 a = %d\n",a);
printf("指標變數 pointer = 0x%0x(&a)\n\n",&a);
//輸出需要辨析的表示式
printf("a —— %d \n",a) ;
printf("&a —— 0x%0x \n",&a) ;
printf("*&a —— %d \n",*&a) ;
printf("pointer —— 0x%0x \n",pointer) ;
printf("&pointer —— 0x%0x \n",&pointer) ;
printf("*pointer —— %d \n",*pointer) ;
printf("&*pointer —— 0x%0x \n",&*pointer);
printf("*&pointer —— 0x%0x \n",*&pointer);
return 0;
}

結論:*和& 是一對互逆運算子
三、指標變數使用禁忌——野指標
野指標情況(一)—— 指標使用前未初始化
若指標定義時未初始化,則不能使用“*p=10;”對p指標所指向的記憶體單元賦值,原因是指標必須在指向明確的前提下才能對其賦值。
野指標情況(二)—— 不能用整數為指標變數賦值,如:
int *p;
p=0x100000;
這是錯誤的。
總之,OS對於記憶體空間的管理是十分嚴格的。
相關文章
- C語言指標C語言指標
- C語言知識彙總 | 51-C語言字串指標(指向字串的指標)C語言字串指標
- c語言指標彙總C語言指標
- C語言指標用法大全C語言指標
- C語言 函式指標C語言函式指標
- C語言指標筆記C語言指標筆記
- C語言基礎-指標C語言指標
- C語言指標學習C語言指標
- C語言指標(二) 指標變數 ----by xhxhC語言指標變數
- C語言指標(三):陣列指標和字串指標C語言指標陣列字串
- C語言知識彙總 | 56-C語言NULL空指標以及void指標C語言Null指標
- C語言指標詳解(一)C語言指標
- C語言指標詳解(二)C語言指標
- C語言 指標與陣列C語言指標陣列
- C語言基礎-1、指標C語言指標
- c語言實現this指標效果C語言指標
- 搞清楚C語言指標C語言指標
- C語言指標基本知識C語言指標
- c語言函式指標的定義C語言函式指標
- c語言-運算子,陣列,指標C語言陣列指標
- C語言指標常見問題C語言指標
- C語言指標應用程式設計C語言指標程式設計
- C語言學習之:指標與字串C語言指標字串
- c 語言指標操作經典問題指標
- 如何掌握 C 語言的一大利器——指標?指標
- (C語言)使用指標列印陣列的內容C語言指標陣列
- C語言指標和陣列筆試題C語言指標陣列筆試
- C語言學習筆記之指標的運算C語言筆記指標
- C\C++語言重點——指標篇 | 為什麼指標被譽為 C 語言靈魂?(一文讓你完全搞懂指標)C++指標
- GO語言————4.9、指標Go指標
- C語言指標總結大學霸IT達人C語言指標
- C語言語法基礎--S2函式和指標C語言函式指標
- c語言野指標與結構體指標動態記憶體分配小解C語言指標結構體記憶體
- go 語言指標學習Go指標
- C語言函式指標與回撥用函式C語言函式指標
- C語言學習筆記:結構體與指標C語言筆記結構體指標
- C語言:利用指標檢查字串是否是迴文C語言指標字串
- 實驗5 C語言指標應用程式設計C語言指標程式設計
- 保證你一看就懂的C語言指標模型C語言指標模型