程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> c語言最強大之處--指針

c語言最強大之處--指針

編輯:關於C語言

c語言最強大之處--指針


指針是與地址分不開的,提到指針就應該想到地址,因為在c語言中指針變量所存放的值就是一個地址,通過這個值它可以指向這個地址的內存位置,也就可以通過這個指針變量來訪問這個內存位置的內容。 定義一個指針變量的方法和其他變量是一樣的: int *a; char *b; ...  這裡指針變量a是指向整形的指針,其中a的值是所指向的整形空間的四個字節的第一個字節的地址;b是指向字符型的指針,b的值是這個字符的地址。 對指針的初始化: int a=123; int *p=&a; int *pi; p=&a; 在這裡定義了整形變量a,定義指針p、pi他們都指向a,上面的兩種初始化方式都使它們指向a。 指針的操作: 通過一個指針訪問它所指向的地址的過程稱作間接訪問或者指針的解引用,它的操作符是*。比如下面的定義 int a=12; int b; int *p; p=&a; b=*p; 定義指針p它指向變量a,如果想把a的值賦給b,可以通過指針p來操作,對指針p進行解引用*p就可以得到p所指向地址的內容,可以將a的值賦給b。 指針和數組: 數組名的值是一個指針常量,也就是數組第一個元素的地址,這時候對指針進行解引用和對數組進行下標訪問是等價的,我們可以認為下標訪問操作符[ ]和解引用操作符*是可以相互換使用的。 int arr[5]={1,2,3,4,5}; arr[0]的值是1 *arr的值也是1,它相當於*(arr+0)    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved