回覆列表
  • 1 # 下崗虎王

    指向整型數的指標陣列 int *p1[] = {NULL, NULL}; 是沒有問題的。原因在於,你申請指向字元的指標陣列,陣列中的元素是字串,指標陣列儲存的是字串首地址;而對於其他常量,你無法把地址給回,自然無法給指標陣列賦值。而我給的NULL是一個空指標,就可以賦給指標陣列了。指標陣列,元素只能儲存指標

  • 2 # 使用者3077706778802

    原始碼如下:

    #include<stdio.h>

    #include<stdlib.h>

    int main(){

    int a[5];

    int *p=a; //定義一個整型指標變數p,使它指向一個5個元素的一維陣列.

    int i;

    printf("Please input:");

    for(i=0;i<5;i++)

    scanf("%d",p+i); //使用指標移動的方式,輸入5個整型陣列元素.

    int *q=(int*)malloc(sizeof(int)*5); //malloc函式動態分配5個整型數的地址空間。

    printf("Please input:");

    for(i=0;i<5;i++)

    scanf("%d",q+i); //使用陣列下標的方式輸入5個整型元素。

    for(i=0;i<5;i++)

    if(p[i]>q[i]){

    int t=p[i];

    p[i]=q[i];

    q[i]=t;

    }

    for(i=0;i<5;i++) //使用指標p和q分別訪問兩組資料

    printf("%d",p[i]);

    putchar(" ");

    for(i=0;i<5;i++)

    printf("%d",q[i]);

    putchar(" ");

    printf("p=%x ",p); //分別輸出交換後的兩組數。

    printf("a=%x ",a);

    printf("q=%x ",q);

    free(q);

    q=NULL;//按十六進位制方式輸出p、a和q的地址。

    return 0;

    }

    執行結果如下:

  • 中秋節和大豐收的關聯?
  • 江湖救急!我不喜歡跑步,怎麼樣才能愛上跑步?實際點?