當前位置:首頁 » 編程語言 » c語言指針定義

c語言指針定義

發布時間: 2022-01-31 21:52:52

c語言指針基本概念

二進制方式存儲,佔用的存儲空間由操作系統和cpu定址方式決定,一般而言,不需要關心太多,只需要知道程序在那個操作系統中運行,例如:32位的程序(在32位win7中運行),地址就存在32個二進制位中(4個位元組),要是64位程序(在64位win7中運行),地址存在64個二進制位中(8個位元組),16(dos程序)位的話就是2個位元組。
可以將地址翻譯為10進制,但這個沒有任何意義。
使用指針原則上不需要去關心指針的具體內容,需要關心的指針所指的對象。

⑵ C語言中面指針是什麼定義

三維指針吧```````````
其實無論多少維都差不多
假設int 是4個位元組
例如int arry[3][4];
int (*p)[4]=arry;
然後arry[i]就是那一列數組的首地址
你可以理解為arry[i]是一個常量指針
arry[i]每一個是指向一個4*4=16位元組數組的指針(int是4個位元組);
所以你可以這樣引用arry[2][3]
例如 *(arry[2]+3)
或者 *(*(p+2)+3)
如果是3維指針
int arry[3][4][5];
int (*p)[4][5];
可以這樣得到arry[1][2][3];
*(*(*(arry+1)+2)+3)
或者*(*(*(p+1)+2)+3)
當然如果不報錯的話
還可以int *pa=arry;
*(pa+20+10+3) (前提是你的編譯器不爆錯,反正有些會報錯有些不會)
不懂jia 我昵稱

⑶ C語言指針定義,float **p;

書上寫的並不是很准確。
首先你需要明白二維數組名和指針的關系
對於這個二維數組,我們舉例為:
1 2 3 4
5 6 7 8
9 10 11 12
因為數組名表示數組的首地址,
<1>所以a表示第一行的首地址
即:a→1 2 3 4
5 6 7 8
9 10 11 12
這時a+1則表示指向第二列的首地址,即
1 2 3 4
a+1→ 5 6 7 8
9 10 11 12
<2>而此時a[0]表示第一行第一列的首地址
a[0]

1 2 3 4
5 6 7 8
9 10 11 12
a[0]+1 表示第一行第二列的首地址

a[0]+1

1 2 3 4
5 6 7 8
9 10 11 12

<3>明白上面的東西你還需要明白**p表示什麼意思
float **p, *j, i=100.12;
j=&i;
p=&j;

如果你把上面三條都明白了你的問題就很容易解答了:
首先 float *p1=a[0]; // 表示第一行第一列的地址
而 float **p2=a; //表示第一行的地址
在這種情況下 *p1相當於a[0][0]
*p2相當於a[0]
*(*p2)相當於a[0][0]

也就是說標準的定義應該是
float *p=a[0]; 或者 float **p=a;

以上是我自己的理解,希望可以幫到你。 局限於對C語言知識的了解,目前認為書上的寫法是錯誤的,但是也許通過進一步學習可能存在那一種定義的方法。知識總是在學習的過程中不斷地擴展和更新的。每一個階段的理解和對錯的判斷不同。如果有了解的朋友也請分享一下。

⑷ c語言中怎樣定義文件指針

頭文件後面寫一個#define FILE_PATH "D:/T.txt"//引號裡面是指向的文件路徑

⑸ C語言指針基本概念及其指針變數的定義是什麼

在C語言里,指針是一組內存的頭地址,可以存一個數,一個字元,也可以是一個數組.
變數,就是像定義一個整型變數一樣的,定義的是一個指針型變數.

⑹ C語言指針概念~

指針變數簡稱指針,其實它也是變數,只不過裡面存放的內容是一個地址,這個地址指向另外一個變數

⑺ C語言指針的定義

指針就是地址。
你說的是指針變數。
整形變數,浮點變數,字元變數,指針變數。通過起名的規律就知道指針變數是儲存地址的。
指針變數和其他變數的用法一樣,作用域一樣。在一個子涵數中定義指針變數,是局部變數,其他函數是不能用的。
不要把指針變數想的太復雜,地址(指針)也是數據,和其他字元數據,整形數據一樣,沒什麼差異。
當然,全局變數的指針變數當然可以多函數使用。
指針的定義:地址。
指針變數的定義:存儲指針的變數。

⑻ C語言函數指針定義

函數指針就是函數的指針。它是一個指針,指向一個函數。看例子: A) char * (*fun1)(char * p1,char * p2); B) char * *fun2(char * p1,char * p2); C) char * fun3(char * p1,char * p2); 看看上面三個表達式分別是什麼意思? C):這很容易,fun3 是函數名,p1,p2 是參數,其類型為char *型,函數的返回值為char *類型。 B):也很簡單,與C)表達式相比,唯一不同的就是函數的返回值類型為char**,是個二級指針。 A):fun1 是函數名嗎?回憶一下前面講解數組指針時的情形。我們說數組指針這么定義或許更清晰: int (*)[10] p; 再看看A)表達式與這里何其相似!明白了吧。這里fun1 不是什麼函數名,而是一個指針變數,它指向一個函數。這個函數有兩個指針類型的參數,函數的返回值也是一個指針。同樣,我們把這個表達式改寫一下:char * (*)(char * p1,char * p2) fun1;

⑼ c語言指針類型定義指針變數

LinkList 是Node型指針,Linklist *s 裡面 s是一個數組,數組里存放的是Node型指針,*s是數組第一個元素

熱點內容
本科來了安卓版叫什麼 發布:2025-01-10 21:08:43 瀏覽:649
南京c語言 發布:2025-01-10 20:55:08 瀏覽:466
如何excel設置密碼保護 發布:2025-01-10 20:50:07 瀏覽:994
桌面文件限制存儲大小 發布:2025-01-10 20:28:45 瀏覽:79
安卓車機怎麼把應用放界面 發布:2025-01-10 20:28:36 瀏覽:679
減演算法小學 發布:2025-01-10 20:22:41 瀏覽:799
ig源碼網 發布:2025-01-10 20:20:04 瀏覽:420
stm晶元用什麼編譯器 發布:2025-01-10 19:35:27 瀏覽:415
易語言qq登陸器源碼 發布:2025-01-10 19:35:00 瀏覽:889
java生成文件 發布:2025-01-10 19:30:35 瀏覽:31