普通變數:資料型別 變數名稱;
指標變數:
資料型別 * 變數名稱;
資料型別 : 說明將來指標變數能夠儲存什麼型別的變數的位址
注意: 指標變數是什麼型別, 那麼將來就只能儲存什麼型別變數的位址,
例如: 指標變數是int型別, 那麼將來就只能儲存int型別變數的位址
* : 沒有任何特殊含義, 僅僅是為了標示這是乙個指標變數
變數名稱 : 用於區分不同的變數
int num; // 普通變數
num = 10;
int *p; // 指標 , 在64位編譯器下占用8個位元組
// 千萬注意: 指標變數只能儲存位址
p = # // 將num的位址儲存到p這個指標中
// p == &num
printf("num = %p\n", &num);
printf("p = %p\n", p);
// 指標變數前的*號代表訪問指標變數指向的那一塊儲存空間
// *p == num
*p = 55;
printf("num = %i\n", *p);
/ 指標就是專門用於儲存位址的
void change3(int *p) // 用什麼接收位址? 指標 = 0ffc13 int *p = #
1、交換兩個變數的值
#include void swap(int *v1, int *v2)
// int *v1 = &a, int *v2 = &b; v1 = 0ffc13 v2 = 0ffc9
// *v1 == a *v2 == b
int main(int argc, const char * argv)
2、定義乙個函式, 傳遞三個值, 返回這三個值得和,差,平局值
#include //int demo(int v1, int v2, int v3);
int demo(int v1, int v2, int v3, int *p1, int *p2);
int main(int argc, const char * argv)
int demo(int v1, int v2, int v3, int *p1, int *p2)
指標的指向可以修改
int a = 10;
int b = 5;
int *p = &a;
*p = 88;
p = &b;
*p = 44;
printf("%i\n", a);
printf("%i\n", b);
指標型別是什麼型別, 就只能指向什麼型別的資料
指向指標位址的指標,儲存的是指標的位址。
因為當我們利用指標去取值的時候, 系統就會自動根據指標的型別來確定應該取對少個位元組中的值
mac(64位)系統上,指標無論什麼型別,都佔8個位元組,因為
64=8*8
/*
char *cp;
int *ip;
double *dp;
double *****;
// mac系統中的指標無論是什麼型別, 幾級真正都占用8個位元組
// 由於mac是64位了, 32 = 4 * 8; 64 = 8 * 8;
printf("cp = %lu, ip = %lu, dp = %lu, *** = %lu\n", sizeof(cp), sizeof(ip), sizeof(dp), sizeof(***));
*/// 指標為什麼要分型別?
// 因為當我們利用指標去取值的時候, 系統就會自動根據指標的型別來確定應該取對少個位元組中的值
C語言指標的基本概念
指標是一種型別,被稱為 指標型別 指標型別描述的是乙個位址,這個位址指向記憶體中另外乙個物件的位置。簡單地說,指標表示的是它所指向物件的位址。1 比較point,point,point三者的區別 對於int point point 是指標變數的目標變數,即指標指向的那個變數,其內容是資料。2 指標與...
C語言基本概念 指標(一)
指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。就像其他變數或常量一樣,必須在使用指標儲存其他變數位址之前,對其進行宣告。指標變數宣告的一般形式為 type var name type 是指標的基型別,它必須是乙個有效的 c 資料型別,var name 是指標變數的名稱。定義乙個指...
C語言指標基本概念與理解
歡迎關注awp資訊 指標是c c 程式語言中的重要概念,但是對於初級程式設計師來說,指標是個比較難理解的概念,下面就從指標的概念入手,一點點解密指標。學習並理解指標首先已經具備基本的程式設計知識,能夠編寫c程式,對於變數知道如何定義並進行運算。要理解指標首先要對不同資料型別的變數在記憶體中是如何分配...