C和指針----指針基礎

  1. 指針:指針是一種數據類型,變量在內存中所對應單元的地址。即指針=地址
  2. 每種指針應該指向同類型的數據的地址;
  3. 指針變量:指針變量是一個存放其他類型數據地址的變量,指針變量的值爲地址;
  4. 定義指針變量:

類型名*指針變量名    如:int  *p  float *p  char *p …

可以在定義指針變量的同時對它初始化,如:int  *p=&a ,指針變量定義及初始化代碼如下:

int main()
{
	int a = 10;
	int b  =20;
	int *p = &a;        //整型地址變量保存整型地址值
	*p = 100;           //對指針變量進行解引用,a=100
	p = &b;             //將b的地址賦值給指針變量p
	*p = 200;           //b=200
	int **pp = &p;
	*pp = &a;
	**pp = 1000;        //a=1000
	*pp = &b;
	**pp = 2000;        //b=2000
	return 0;
}

在定義指針變量時要注意:

①指針產量前面的“*”表示該變量的類型爲指針型變量;②在定義指針變量時必須指定基類型。

而在指針使用的過程中,要對指針進行解引用。

指針的大小: x86或者32位平臺,指針4字節; x64或者64位平臺,指針8字節

使用sizeof計算各類型指針的大小,代碼如下:

int main()
{
	printf("%d\n",sizeof(char*));
	printf("%d\n",sizeof(short*));
	printf("%d\n",sizeof(int*));
	printf("%d\n",sizeof(long*));
	printf("%d\n",sizeof(long long*));
	printf("%d\n",sizeof(float*));
	printf("%d\n",sizeof(double*));
	printf("%d\n",sizeof(double**));
	printf("%d\n",sizeof(double**********));
	
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章