指標變數 初級

2021-07-09 12:36:40 字數 1988 閱讀 6276

1.通過位址能找到所需的變數單元,位址指向該單元變數。

2.乙個變數的位址稱為該變數的「指標」

3.乙個變數專門存放另乙個變數位址(即指標),稱為「指標變數」

4.定義指標變數一般形式  : int *pointer_1,*pointer_2;

int為基型別     指標變數可指向的變數型別。

5.指標變數前面的「*「表示為該變數的型別為指標型變數

6.a是指向整型資料的指標變數(正確讀法)

一、輸入兩個整數,按先大後小的順序輸出兩個數

#include

int main()

int*p,a,b,*p1,*p2;

printf("intputtwo numbers:");

scanf("%d%d",&a,&b);

p1=&a;p2=&b;

if(b>a)

p=p1;

p1=p2;

p2=p;

printf("maxnumber is %d",*p1);

二、現在用函式處理,而且用指標型別的資料作函式引數。

#include

int main()

voidswap(int *,int *);

inta,b,*pointer_1,*pointer_2;

printf("pleaseinput two numbers :\n");

scanf("%d%d",&a,&b);

pointer_1= &a;

pointer_2= &b;

if(b>a)

swap(pointer_1,pointer_2);

printf("max= %d,min = %d",*pointer_1,*pointer_2);

return0 ;

void swap(int *p1,int *p2)

intp;

p=*p1;

*p1=*p2;

*p2=p;

函式中不可寫成*p=*p1;因為由於未給p賦值,因此p中並無確定的值(它的值是不可預見的),所以指向的單元也是不可預見的。所以,對*p賦值就是向乙個未知的儲存單元賦值,不可以。

如果寫成swap(int x,int y)

inttemp;

temp=x;

x=y;

y=temp;

注意1:傳遞值到函式形參,並未影響實參,形參交換之後便釋放了。

注意2:不能企圖通過改變指標形參的值而使指標實參的值改變。

注意3:不可能通過執行呼叫函式來改變實參指標變數的值,但是可以改變實參指標變數所指向變數的值。

例三:輸入3個整數a,b,c,要求由大到小的順序將他們輸出,用函式實現。

#include

int main()

voidexchange(int *p11,int *p22,int *p33);

inta,b,c,*p1,*p2,*p3;

printf("pleaseinput three numbers:");

scanf("%d%d %d",&a,&b,&c);

p1=&a;p2=&b;p3=&c;

exchange(p1,p2,p3);

printf("theorder is :%d >%d >%d",a,b,c);

return0;

void exchange(int *p11,int *p22,int *p33)

voidswap(int *q1,int *q2);

if(*p11<*p22)

swap(p11,p22);

if(*p11<*p33)

swap(p11,p33);

if(*p22<*p33)

swap(p22,p33);

void swap(int *q1,int *q2)

inttemp;

temp=*q1;

*q1=*q2;

*q2=temp;

總結:用指標做連線,改變量值(實參指標)

C初級 指標

2.2.指標定義和使用方式 3.拓展知識 4.例項 遞迴就是一層層的進行計算 例如 求 123 n 的值 int fun int n 2.1.記憶體位址和指標 2.1.2 指標說明 2.2.指標定義和使用方式 2.2.1 指標定義格式 int p 表示定義了乙個名為p的短整型指標變數2.2.2 針涉...

C語言初級指標

include include int main printf d n sizeof a 求整個陣列的位元組數,4 4 16 printf d n sizeof a 0 此時陣列名隱式退化成指標,在32位作業系統下是答案是4 printf d n sizeof a 取到了整數1,答案是4 print...

c語言指標初級

指標其實就是乙個變數,只不過它和普通變數有所不同,我們知道變數是用來存值的,指標也不例外,只不過它存的值是乙個位址,即就是用來標記某塊記憶體的位置。首先我們定義乙個指標 基型別 指標變數名 int i 0 int p i 這裡我們定義了乙個int 型別的指標,我們用該指標變數儲存乙個整型資料的位址 ...