C語言指標總結

2021-09-22 10:13:29 字數 1249 閱讀 6935

指標:存放記憶體單元位址的變數,放在指標中的值都被當成位址處理,乙個位元組給乙個對應的位址。

指標是用來存放位址的,位址是唯一標示一塊位址空間的。 指標的大小在32位平台是4個位元組,在64位平台是8個位元組。

指標的定義:type + * ,指標的型別決定了指標向前或者向後走一步有多大(距離)。指標的型別決定了,對指標解引用的時候有多大的許可權 (能操作幾個位元組)。

允許指向陣列元素的指標與指向陣列最後乙個元素後面的那個記憶體位置的指標比較,但是不允許與指向第乙個 元素之前的那個記憶體位置的指標進行比較。

指標和陣列沒有聯絡,只是在使用上有許多相似性(訪問時都可以用解引用操作符和中括號)。

陣列名代表陣列的首元素的位址,&陣列名代表整個陣列的位址,因為大小端問題,陣列名和&陣列名的值是相同的,可是含義卻不一樣,陣列名+1 是下乙個元素的位址,&陣列名+1 是下乙個陣列的位址。

二級指標是存放一級指標位址的指標。

指標陣列是存放指標的陣列。

陣列指標是指向陣列的指標。

函式指標是存放函式位址的指標。

函式指標陣列:將函式位址存放在陣列中,將這個陣列稱為函式指標陣列。

qsort 的應用以及實現

#define _crt_secure_no_warnings 1

#include#include#include#include//qsort的使用

int cmp(const void* xp,const void* yp)

else if (*x < *y)

else return 0;

}void show(int arr,int num)

void swap(char *x, char *y, int size)

}void my_qsort(void* base, int num, int size, int(*cmp)(const void*, const void*))

} if (!flag)

break; }}

int main()

; int num = sizeof(arr) / sizeof(arr[0]);

show(arr, num);

//qsort(arr, num, sizeof(int), cmp);

my_qsort(arr, num, sizeof(int), cmp);

show(arr, num);

system("pause");

return 0;

}

C語言指標總結

2012 03 07 07 22 標籤 c語言 分類 pointer c語言中的精華是指標,這也是c語言中唯一的難點。c是對底層操作非常方便的語言,而底層操作中用到最多的就是指標,以後從事嵌入式開發的朋友們,指標將陪伴我們終身。1.指標型別分析 分析指標,可以從變數名處起,根據運算子優先順序結合,一...

C語言指標總結

c語言中的精華是指標,這也是c語言中唯一的難點。c是對底層操作非常方便的語言,而底層操作中用到最多的就是指標,以後從事嵌入式開發的朋友們,指標將陪伴我們終身。1.指標型別分析 分析指標,可以從變數名處起,根據運算子優先順序結合,一步一步分析.int p 這是乙個普通的整型變數 int p 首先從 p...

C語言指標總結

指標分析 指標的型別 把指標宣告語句裡的指標名字去掉,剩下的部分就是這個指標的型別 指標所指向的型別 把指標宣告語句中的指標名字和名字左邊的指標宣告符 去掉,剩下的就是指標所指向的型別 在指標的算術運算中,指標所指向的型別有很大的作用 指標本身所佔據的記憶體區 用函式sizeof 指標的型別 可以測...