程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C語言指針的實驗說明

C語言指針的實驗說明

編輯:關於C

<div align="left"><pre class="cpp" name="code">上午上《編譯原理》的時候聽老師談到了C語言的指針的問題,有些疑問,所以回到宿捨進行了實驗驗證。 

<p>當函數參數是個指針的時候,當調用這個函數時,此函數的形參的得到的是指針本身,還是他的一個副本?如下代碼:</p><p>#include "stdio.h" 
 
void change1(int* d) 

    printf("address_d = %d  d = %d  *d = %d\n", &d, d, *d); 
    int s = 4; 
    d = &s; 
    printf("address_d = %d  d = %d  *d = %d\n",&d, d, *d); 

 
void change2(int *e) 

    *e = 5; 

 
int main() 

    int *p(NULL); 
    int *q(NULL); 
    int a(1); 
    while(a) 
    { 
        scanf("%d", &a); 
        printf("address_a = %d  a = %d\n", &a, a); 
        p = &a; 
        q = p; 
                printf("address_P = %d  p = %d  *p = %d\n", &p, p, *p); 
                printf("address_q = %d  q = %d  *q = %d\n", &q, q, *q); 
        change1(q); 
                printf("address_q = %d  q = %d  *q = %d\n", &q, q, *q); 
        change2(q); 
        printf("address_a = %d  a = %d\n", &a, a); 
        printf("address_q = %d  q = %d  *q = %d\n", &q, q, *q); 
                printf("address_P = %d  p = %d  *p = %d\n", &p, p, *p); 
    } 

</p> 

作者 wche1990

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved