7.5 const修飾指標
7.6 指標和陣列
7.7 指標和函式
7.8 指標、陣列、函式
記憶體編號是從0開始記錄的,一般用十六進製制數字表示。
可以利用指標變數儲存位址。
指標變數定義:資料型別 * 指標變數名;
指標變數,存放的是位址。&變數名是取變數的記憶體位址。*指標變數名是取指標變數對應的記憶體中的資料。
#include
using
namespace std;
intmain()
指標也是資料型別,那麼這種資料型別佔多少記憶體空間呢?
在32位作業系統下,不管是什麼型別的指標,都是佔四個位元組的空間
在64為作業系統下,不管是什麼型別的指標,都是佔八個位元組的空間
#include
using
namespace std;
intmain()
空指標:指標變數指向記憶體中編號為0的空間
用途:初始化指標變數
注意:空指標指向的記憶體是不可以訪問的。0-255之間的記憶體編號是系統占用的,不可以訪問。
#include
using
namespace std;
intmain()
野指標:指標變數指向非法的記憶體空間
#include
using
namespace std;
intmain()
空指標和野指標都不是我們申請的空間,因此不要訪問
const修飾指標有三種情況:
(1)const修飾指標——常量指標
例const int *p=&a;
特點:指標的指向可以修改,但是指標指向的變數的值不可以修改
int a=10;
int b=20;
const
int*p=
&a;*p=20;
//錯誤:指標指向的值不可以修改
p=&b;
//正確:指標的指向可以修改
(2)const修飾常量——指標常量
例 int * const p=&a;
特點:指標的指向不可以修改,但是指標指向的變數的值可以修改
int a=10;
int b=20;
int*
const p=
&a;*p=20;
//正確:指標指向的值可以修改
p=&b;
//錯誤:指標的指向不可以修改
(3)const既修飾指標又修飾常量
例 const int * const p=&a;
特點:指標的指向不可以修改,指標指向的變數的值不可以修改
int a=10;
int b=20;
int*
const p=
&a;*p=20;
//錯誤:指標指向的值不可以修改
p=&b;
//錯誤:指標的指向不可以修改
舉例:
#include
using
namespace std;
intmain()
作用:利用指標訪問陣列中元素
#include
using
namespace std;
intmain()
; cout <<
"利用陣列下標訪問陣列中第乙個元素為:"
<< arr1[0]
<< endl;
//利用陣列下標訪問陣列中的元素
int* p = arr1;
//arr1為陣列的首位址
cout <<
"利用指標訪問陣列中第乙個元素:"
<<
*p << endl;
p++;//讓指標向後偏移四個位元組(因為本身建立的是int型別的指標(4位元組))
cout <<
"利用指標訪問陣列中第二個元素:"
<<
*p << endl;
//2.利用指標遍歷陣列
double arr2=
;double
* p2 = arr2;
for(
int i =
0; i <
sizeof
(arr2)
/sizeof
(arr2[0]
); i++
)}
作用:利用指標作為函式引數,可以修改實參的值
#include
using
namespace std;
void
swap1
(int p,
int q)
void
swap2
(int
*p,int
*q)int
main()
案例描述:封裝乙個函式,利用氣泡排序實現對整型陣列的公升序排序
#include
using
namespace std;
//封裝乙個函式,利用氣泡排序實現對整型陣列的公升序排序
void
bubblesort
(int
*q,int len)
//引數為陣列的首位址
p++;}
}}intmain()
;int len =
sizeof
(arr)
/sizeof
(arr[0]
);bubblesort
(arr,len)
;for
(int i =
0; i)}
C 基礎入門 07指標
指標的作用 可以通過指標間接訪問記憶體 指標變數定義語法 資料型別 變數名 示例 int main 指標變數和普通變數的區別 總結3 對指標變數解引用,可以操作指標指向的記憶體 提問 指標也是種資料型別,那麼這種資料型別占用多少記憶體空間?示例 int main 總結 所有指標型別在32位作業系統下...
C 基礎(1) 指標
三.指標使用 四.函式和指標 五.const 和指標 指標是另外一種型別的復合型別,復合型別是指基於其它型別定義的型別 意思是說指標是指向什麼型別,那麼指標本身就是什麼型別 指標其實就是程式資料在記憶體中的位址,而指標變數是用來儲存這些位址的變數 記憶體是乙個很大的,線性的位元組陣列。每乙個位元組都...
c語言程式設計(5)指標
指標是 c 語言中乙個重要的概念,也是 c 語言最精彩的部分。正確而靈活的運用它,可以是程式簡潔 緊湊 高效。指標變數是一種特殊的變數,它存放的不是資料,而是另一種變數的位址。這個存放資料的變數被稱為指標變數所指向的目標變數。由於通過指標變數中的位址可以直接訪問它指向的目標變數,常把指標變數簡稱為指...