C语言指针详解一
c語言指針詳解一
- 什么是指針
- 整型指針和字符指針
- 數(shù)組指針(是指針)的解析與指針數(shù)組(是數(shù)組)的區(qū)別
- 函數(shù)指針
什么是指針
①指針是個(gè)變量,用來存放地址
②指針的大小固定是4/8個(gè)字節(jié)(32位/64位平臺(tái))。
③指針是有類型的,指針的類型決定了指針的±整數(shù)的步長(zhǎng),指針解引用操作時(shí)的權(quán)限。
指針可以根據(jù)指針指向的變量的數(shù)據(jù)的類型來分類。
有整型指針,字符指針,數(shù)組指針,函數(shù)指針等。
整型指針和字符指針
例如:
#include<stdio.h> int main() {int a = 5;int* p = &a;//整型指針--p存放int(整型)的地址的指針變量char c = 'a';char* cr = &c;//字符指針--cr存放char(字符)的地址的指針變量printf("%d ", *p);//p存放的是&a(也就是a的地址值)通過“*”來對(duì)p進(jìn)行解引用---通過p存放的地址找到aprintf("%c ", *cr);//同上return 0; }p是整型指針–指向整型的指針–可以用來存放整型的地址
c是字符指針–指向字符的指針–可以用來存放字符的地址
從這里可以看出來上面的
③指針是有類型的,指針的類型決定了指針的±整數(shù)的步長(zhǎng),指針解引用操作時(shí)的權(quán)限。
這一點(diǎn),因?yàn)閏har類型是占一個(gè)字節(jié),所以其指針的+1所打印出來的地址值也是+1;
而int類型是占四個(gè)字節(jié)的,所以其指針的+1所打印出來的地址值是+4;
數(shù)組指針(是指針)的解析與指針數(shù)組(是數(shù)組)的區(qū)別
#include<stdio.h> int main() {int* p = NULL;//p是整型指針--指向整型的指針--可以用來存放整型的地址char* d = NULL;//d是字符指針--指向字符的指針--可以用來存放字符的地址//數(shù)組指針--指向數(shù)組的指針--可以用來存放數(shù)組的地址int arr[7] = { 1,2,3,4,5,6,7 };int(*str)[7] = &arr;//存放的是數(shù)組的地址--數(shù)組指針//*p是指針指向后面的數(shù)組,上面的p就是數(shù)組指針 int a = 1;int b = 2;int c = 3;int arr2[10] = { 0 };//整型數(shù)組--存放整型的數(shù)組char arr3[10] = { 0 };//字符數(shù)組--存放字符的數(shù)組int* arr1[7] = {&a,&b,&c};//指針數(shù)組--存放指針的數(shù)組//[]的優(yōu)先級(jí)要高于*的優(yōu)先級(jí)return 0; }數(shù)組地址的解釋
int arr[10] = { 0 };
arr–首元素的地址
&arr[0]–首元素的地址
&arr–數(shù)組的地址
函數(shù)指針
函數(shù)指針—指向函數(shù)的指針–存放函數(shù)地址的一個(gè)指針
與數(shù)組指針類似
總結(jié)
- 上一篇: python selenium与自动化
- 下一篇: mt4 指标 涨跌幅 颜色k线_通达信指