本文目錄一覽:
c語言中指針到底有幾種類型啊?
枚舉和指針類型都不是基本數據類型C語言有五種基本數據類型:字符、整型、單精度實型、雙精度實型和空類型。
儘管這幾種類型數據的長度和範圍隨處理器的類型和C語言編譯程序的實現而異,但以bit為例,整數與CPU字長相等,一個字符通常為一個位元組,浮點值的確切格式則根據實現而定C語言還提供了幾種聚合類型(aggregate types)。
包括數組、指針、結構、共用體(聯合)、位域和枚舉除v o i d類型外,基本類型的前面可以有各種修飾符。
修飾符用來改變基本類型的意義,以便更準確地適應各種情況的需求。
擴展資料:
特有特點
C語言普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有彙編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。具體體現在以下三個方面:
其一,廣泛性。C 語言的運算範圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算範圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。
此外,C 語言包含了字符型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。
其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。
其三,結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢,同時這一特性也使得它能夠適應多種不同的編程要求,且執行效率高。
參考資料來源:百度百科-c語言
C語言中指針是什麼
我們都知道:C語言中的數組是指 一類 類型,數組具體區分為 int 類型數組,double類型數組,char數組 等等。同樣指針 這個概念也泛指 一類
數據類型,int指針類型,double指針類型,char指針類型等等。
通常,我們用int類型保存一些整型的數據,如 int num = 97 , 我們也會用char來存儲字符: char ch = ‘a’。
我們也必須知道:任何程序數據載入內存後,在內存都有他們的地址,這就是指針。而為了保存一個數據在內存中的地址,我們就需要指針變量。
因此:指針是程序數據在內存中的地址,而指針變量是用來保存這些地址的變量。
c語言指針是什麼意思!
指針其實是一個整形變量,與其它數據不同的是,它的作用是用來存儲其它變量的地址。指針(Pointer)是編程語言中的一個對象,利用地址,它的值直接指向(points to)存在電腦存儲器中另一個地方的值。由於通過地址能找到所需的變量單元,可以說,地址指向該變量單元。
因此,將地址形象化的稱為「指針」。意思是通過它能找到以它為地址的內存單元。
再打個比方:有個人讓你去麥當勞幫我買個雪糕,那麼麥當勞是這個變量a,但是那個人現在把麥當勞所在的地址寫在紙上給你,那麼這張紙就可以看做一個指向麥當勞的指針。
擴展資料:
舉例說明:
int p; //這是一個普通的整型變量。
int *p; //首先從P 處開始,先與*結合,所以說明P 是一個指針,然後再與int 結合,說明指針所指向的內容的類型為int 型.所以P是一個返回整型數據的指針。
int p[3]; //首先從P 處開始,先與[]結合,說明P 是一個數組,然後與int 結合,說明數組裡的元素是整型的,所以P 是一個由整型數據組成的數組 。
int *p[3]; //首先從P 處開始,先與[]結合,因為其優先級比*高,所以P 是一個數組,然後再與*結合,說明數組裡的元素是指針類型,然後再與int 結合,說明指針所指向的內容的類型是整型的,所以P 是一個由返回整型數據的指針所組成的數組。
int (*p)[3]; //首先從P 處開始,先與*結合,說明P 是一個指針然後再與[]結合(與”()”這步可以忽略,只是為了改變優先級),說明指針所指向的內容是一個數組,然後再與int 結合,說明數組裡的元素是整型的.所以P 是一個指向由整型數據組成的數組的指針。
int **p; //首先從P 開始,先與*結合,說是P 是一個指針,然後再與*結合,說明指針所指向的元素是指針,然後再與int 結合,說明該指針所指向的元素是整型數據。由於二級指針以及更高級的指針極少用在複雜的類型中,所以後面更複雜的類型就不考慮多級指針了,最多只考慮一級指針。
int p(int); //從P 處起,先與()結合,說明P 是一個函數,然後進入()里分析,說明該函數有一個整型變量的參數,然後再與外面的int 結合,說明函數的返回值是一個整型數據。
Int (*p)(int); //從P 處開始,先與指針結合,說明P 是一個指針,然後與()結合,說明指針指向的是一個函數,然後再與()里的int 結合,說明函數有一個int 型的參數,再與最外層的int 結合,說明函數的返回類型是整型。
所以P 是一個指向有一個整型參數且返回類型為整型的函數的指針。
int *(*p(int))[3]; //可以先跳過,不看這個類型,過於複雜從P 開始,先與()結合,說明P 是一個函數,然後進入()裏面,與int 結合,說明函數有一個整型變量參數,然後再與外面的*結合,說明函數返回的是一個指針。
然後到最外面一層,先與[]結合,說明返回的指針指向的是一個數組。然後再與*結合,說明數組裡的元素是指針,然後再與int 結合,說明指針指向的內容是整型數據.所以P 是一個參數為一個整數據且返回一個指向由整型指針變量組成的數組的指針變量的函數.
參考資料:百度百科-指針
C語言指針的作用有哪些?
指針的用途非常廣泛,比如如果你想通過函數改變一個變量的值,就得用指針而不能用值傳遞。還有在很多時候變量,特別是對象的數據量實在太大,程序員就會用指針來做形參,只需要傳遞一個地址就行,大大提高了效率。簡單地說指針就是指向變量和對象的地址。
基本說明:
1、在計算機中,所有的數據都是存放在存儲器中的。 一般把存儲器中的一個位元組稱為一個內存單元, 不同的數據類型所佔用的內存單元數不等,如整型量佔2個單元,字符量佔1個單元等;
2、為了正確地訪問這些內存單元,須為每個內存單元編上號。 根據一個內存單元的編號即可準確地找到該內存單元。既然根據內存單元的編號或地址就可以找到所需的內存單元,所以通常也把這個地址稱為指針。內存單元的指針和內存單元的內容是兩個不同的概念。
論述C語言中指針的概念和作用,並舉例說明
1、指針概念:變量的地址(計算機內存位元組的編號)叫做指針,存放變量地址的變量叫指針變
量,
簡言之,指針是用來存放地址的。
2、作用:指向這個變量或數組的首地址,是變量的間接引用方式。其值如果改變,變量的值或數組元素的值也會跟着改變。程序對變量的操作實際上是對變量所在的存儲空間讀取和寫入數據。方便對變量的操作。
舉例說明:
int
a=3;/*定義一個整型變量a,並賦初值3*/
int
*p;/*定義一個指針變量P*/
p=a;/*讓p指向a的首地址,也就是a的地址*/
程序為a分配一個2個位元組的存儲單元,假如2個位元組的地址分別為(ABCD1和ABCD2,唯一),那麼p裏面放的值就是ABCD1,不是3。這時可通過p直接引用a,實際上*p=3。以後不管a存放在內存中的哪個地方,只用通過調用p就可以引用a。這時如果令*p=4,則最後的a值也為4。對於數組,指針是指向數組的首地址。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/271356.html