c語言如何定義指針
『壹』 c語言如何定義指針指向字元型二維數組
在C語言中,可以通過如下方式來定義指向字元型二維數組的指針:
char c[4][5]; // 定義一個4行5列的字元型二維數組
char (*pc)[5]; // 定義一個含5個元素的數組指針
pc=c; // 將數組指針pc指向二維字元數組c
註:
char
(*pc)[5]
不能寫為 char
*pc[5]
char
(*pc)[5]
表示數組指針,數組中每個元素為char型;
char
*pc[5]
表示指針數組,數組中每個元素為char*,也即每個元素為指針。
『貳』 C語言指針變數定義
根據你的定義,使用LinkList定義的變數是指針變數,而加上*即LinkList *C表示的是指向指針的指針,表示二級指針變數。
你的合並函數是一個沒有返回值的函數,所以你在函數體內更改C要達到更改實參的效果,你必須傳入實參的地址。
如果是一級指針,C接收實參指向的對象地址,如果此時在函數體內對C進行賦值,只是改變了函數體內C的指向,實參還是指向原來的地址。函數內是改變不了實參C本身的指向,只有傳入實參C變數本身的地址,那麼形參就要定義指向指針的變數來接收實參。
以上是一種方法,另外一種方法就是通過函數返回值,返回新合並的鏈表的頭。那函數類型就可以改為:
LinkList MergeList(LinkList a, LinkList b)。
這可以多練習好好理解一下。
『叄』 c語言指針,指向數組的指針、指向指針數組的指針、指向數組的指針的指針,分別如何定義
解答:
1. 如何聲明一個指針,這個指針是指向整個數組的,數組有n個元素,每個元素是int,不是int (*p)[n],而是最簡單的int*p;
2. 如何聲明一個指針,這個指針也是指向數組的,數組有n個元素,每個元素不是int,而是指針int*;這個指針是int**p;
3. 又如何聲明一個指針,它指向另一個指針,這「另一個指針」指向一個數組,數組元素是int;這個指針仍然是int**p。
『肆』 C語言指針基本概念及其指針變數的定義是什麼
指針是常見間接訪問方式.指針就像一個快捷方式,它指向內存的一個地址,可以通過指針就可以間接的訪問到數據。對於計算機,訪問內存的方式有兩種,直接訪問和間接訪問。直接訪問通過就是通過變數名稱去訪問。指針概念是構成C/C++的重要元素之一,是變數的一種類型,存放的是指定類型數據的地址,而同類型變數存放的是數據。
指針變數:就是一個變數,其值是可變的,與整形變數、浮點變數等等的命名規則完全相同。 「指針」是概念,「指針變數」是具體實現。指針類型說明,即定義變數為一個指針變數; 指針變數名; 變數值(指針)所指向的變數的數據類型。
(4)c語言如何定義指針擴展閱讀:
與其他高級編程語言相比,C 語言可以更高效地對計算機硬體進行操作,而計算機硬體的操作指令,在很大程度上依賴於地址。指針提供了對地址操作的一種方法,因此,使用指針可使得 C 語言能夠更高效地實現對計算機底層硬體的操作。另外,通過指針可以更便捷地操作數組。在一定意義上可以說,指針是 C 語言的精髓。
『伍』 C語言如何定義指針指向字元型二維數組
使用指針變數訪問二維數組的任意一個元素的方法:
1.使用列指針:定義一個列指針p,讓它指向二維數組的第0個元素
int a[3][4];
int *p;
p=&a[0][0];
//因為a[0]是第0行的數組名,所以p=&a[0][0]相當於p=a[0],因為a[i][j]前面共有i*4+j個元素
該二維數組的任意i行j列元素可表示為*(p+i*4+j)。
2.使用行指針:定義一個行指針p,讓它指向二維數組的第0行
int a[3][4];
int (*p)[4];
p=a; //也可以為p=&a[0];
其中* ( *(p+i)+j)表示任意一個i行j列的元素。
(5)c語言如何定義指針擴展閱讀:
數組的使用規則:
1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。
2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。
3.如不給可初始化的數組賦初值,則全部元素均為0值。
4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。
網路-數組
『陸』 c語言結構體指針如何定義和使用
struct stu
{
char name[20];
long number;
float score[4];
} ;
再定義指向結構體類型變數的指針變數:
struct stu *p1, *p2 ;
定義指針變數p 1、p 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。對於數組,指針是指向數組的首地址。
『捌』 C語言中如何定義一個行指針
int *arry[10]; //指針數組
int (*arryp)[10]; //數組指針,因為數組指針指向數組,而數組也可看做是個指針,那數組指針可以理解為一個二 級指針
int a[10];
arryp = &a; //將數組地址個數組指針
arry[0] = *arryp; //arry[0]是一級指針,要將數組指針賦給指針數組,就要取內容,實際就是 arry[0] = a;