當前位置:首頁 » 編程語言 » c語言中文網指針
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中文網指針

發布時間: 2022-10-23 13:50:13

『壹』 請問c語言中 指針是什麼有什麼作用請用通俗的語言解釋

通俗的說,就是你家的門牌號,

簡單地說指針就是指向變數和對象的地址。
指針的用途非常廣泛,比如如果你想通過函數改變一個變數的值,就得用指針而不能用值傳遞。還有在很多時候變數,特別是對象的數據量實在太大,程序員就會用指針來做形參,只需要傳遞一個地址就行,大大提高了效率。
以上還只是指針的初步應用,隨著你在C語言學習上的逐步深入,你會發現更多的用途的

『貳』 C語言指針的用法是什麼

指針是C語言中廣泛使用的一種數據類型。運用指針編程是C語言最主要的風格之一。

利用指針變數可以表示各種數據結構;能很方便地使用數組和字元串;並能象匯編語言一樣處理內存地址,從而編出精練而高效的程序。指針極大地豐富了C語言的功能。

學習指針是學習C語言中最重要的一環,能否正確理解和使用指針是我們是否掌握C語言的一個標志。

同時,指針也是C語言中最為困難的一部分,在學習中除了要正確理解基本概念,還必須要多編程,上機調試。只要作到這些,指針也是不難掌握的。

『叄』 C語言中指針是什麼

我們都知道:C語言中的數組是指 一類 類型,數組具體區分為 int 類型數組,double類型數組,char數組 等等。同樣指針 這個概念也泛指 一類
數據類型,int指針類型,double指針類型,char指針類型等等。

通常,我們用int類型保存一些整型的數據,如 int num = 97 , 我們也會用char來存儲字元: char ch = 'a'。

我們也必須知道:任何程序數據載入內存後,在內存都有他們的地址,這就是指針。而為了保存一個數據在內存中的地址,我們就需要指針變數。

因此:指針是程序數據在內存中的地址,而指針變數是用來保存這些地址的變數。

『肆』 在C語言中什麼是指針指針是干什麼用的,有什麼意義

寫簡單的程序的話不用指針也行了吧. 比如, int a = 2; int* p = &a; *p = 3; 這里a是一個地址(編譯後), 為了讀寫這個地址單元里的東西,可以用p,也可以用一般變數a. 對於指針的便利,我現在能想到的,可能是: 函數A調用函數B時,把一個內存塊的地址傳遞過去,這樣可以避免按值傳遞時開辟一個棧空間並逐一拷貝內存塊里的值的開銷(C++里的拷貝構造函數在做這件事),並且A,B函數操作的都是同一個內存塊里的東西,如果這就是目的,那麼傳指針就是很有效率的做法(如果不用指針就可能要用一個全局的變數了). 用一個指針(函數指針)存放一系列同類型的函數名(入口地址),方便函數調用. void*類型指針可以存放任何類型指針. 讓父類類型指針指向任何子類對象可以實現動態綁定. 寫著寫著似乎指針還挺有用,呵呵. 我相信指針的使用一定要很小心,否則可能要忍受程序報錯而總找不到錯在何處的痛苦. 有一些比較極端的例子, 如一個函數返回了一個函數里局部變數的指針,一用就出錯; 如聲明一個指針沒有分配空間就傳給別一函數使用; 如多個線程都在使用同一個內存塊,你修我改,甚至有人把它刪掉了或不小心讓指針指向系統用的內存,另一個人還准備往裡讀寫東西---可能要費心思來同步. 如指針指向的內存可能是new/malloc出來的,可能要想辦法及時刪除並要保證沒有別的線程要用...

『伍』 C語言中指針是什麼意思

1.指針就是1個變數,他也是一個存放內容的內存空間。
2.指針存放的內容是另一個內存空間的起始地址。不同於一般變數存放的就是變數值。
3.取值操作符*對於指針的作用是取得指針變數存放的內存地址裡面的值,不加*取出的是指針變數存放的值(就是一個內存地址)

上面3步,step by step 你就理解了.

『陸』 C語言指針的用法

1、指針的概念

指針是一個特殊的變數,它裡面存儲的數值被解釋成為內存里的一個地址。要搞清一個指針需要搞清指針的四方面的內容:指針的類型,指針所指向的類型,指針的值或者叫指針所指向的內存區,還有指針本身所佔據的內存區。讓我們分別說明。

先聲明幾個指針放著做例子:

例一:

(1)int*ptr;
(2)char*ptr;
(3)int**ptr;
(4)int(*ptr)[3];
(5)int*(*ptr)[4];

1、指針的類型

從語法的角度看,你只要把指針聲明語句里的指針名字去掉,剩下的部分就是這個指針的類型。這是指針本身所具有的類型。讓我們看看例一中各個指針的類型:

(1)int*ptr;
//指針的類型是int*
(2)char*ptr;
//指針的類型是char*
(3)int**ptr;
//指針的類型是int**
(4)int(*ptr)[3];
//指針的類型是int(*)[3]
(5)int*(*ptr)[4];
//指針的類型是int*(*)[4]

怎麼樣?找出指針的類型的方法是不是很簡單?

2、指針所指向的類型

當你通過指針來訪問指針所指向的內存區時,指針所指向的類型決定了編譯器將把那片內存區里的內容當做什麼來看待。

從語法上看,你只須把指針聲明語句中的指針名字和名字左邊的指針聲明符*去掉,剩下的就是指針所指向的類型。例如:

(1)int*ptr;
//指針所指向的類型是int
(2)char*ptr;
//指針所指向的的類型是char
(3)int**ptr;
//指針所指向的的類型是int*
(4)int(*ptr)[3];
//指針所指向的的類型是int()[3]
(5)int*(*ptr)[4];
//指針所指向的的類型是int*()[4]

在指針的算術運算中,指針所指向的類型有很大的作用。指針的類型(即指針本身的類型)和指針所指向的類型是兩個概念。當你對C越來越熟悉時,你會發現,把與指針攪和在一起的"類型"這個概念分成"指針的類型"和"指針所指向的類型"兩個概念,是精通指針的關鍵點之一。
本篇文章來源於 黑基網-中國最大的網路安全站點 原文鏈接:http://www.hackbase.com/lib/2008-03-09/13993.html

『柒』 c語言指針是什麼意思!

指針其實是一個整形變數,與其它數據不同的是,它的作用是用來存儲其它變數的地址。指針(Pointer)是編程語言中的一個對象,利用地址,它的值直接指向(points to)存在電腦存儲器中另一個地方的值。由於通過地址能找到所需的變數單元,可以說,地址指向該變數單元。

因此,將地址形象化的稱為「指針」。意思是通過它能找到以它為地址的內存單元。

再打個比方:有個人讓你去麥當勞幫我買個雪糕,那麼麥當勞是這個變數a,但是那個人現在把麥當勞所在的地址寫在紙上給你,那麼這張紙就可以看做一個指向麥當勞的指針。

(7)c語言中文網指針擴展閱讀

舉例說明:

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語言指針基本概念及其指針變數的定義是什麼

指針是常見間接訪問方式.指針就像一個快捷方式,它指向內存的一個地址,可以通過指針就可以間接的訪問到數據。對於計算機,訪問內存的方式有兩種,直接訪問和間接訪問。直接訪問通過就是通過變數名稱去訪問。指針概念是構成C/C++的重要元素之一,是變數的一種類型,存放的是指定類型數據的地址,而同類型變數存放的是數據。

指針變數:就是一個變數,其值是可變的,與整形變數、浮點變數等等的命名規則完全相同。 「指針」是概念,「指針變數」是具體實現。指針類型說明,即定義變數為一個指針變數; 指針變數名; 變數值(指針)所指向的變數的數據類型。

(8)c語言中文網指針擴展閱讀:

與其他高級編程語言相比,C 語言可以更高效地對計算機硬體進行操作,而計算機硬體的操作指令,在很大程度上依賴於地址。指針提供了對地址操作的一種方法,因此,使用指針可使得 C 語言能夠更高效地實現對計算機底層硬體的操作。另外,通過指針可以更便捷地操作數組。在一定意義上可以說,指針是 C 語言的精髓。