關於指標陣列

2022-11-25 08:25:07 字數 698 閱讀 2870

1樓:匿名使用者

程式修改如下:

#include "stdio.h"

void display_array(int *p_num)/*注意這裡*/

void main()

;int *num[5] ;/*注意這裡以及以下5行*/num[0]=&a[0];

num[1]=&a[1];

num[2]=&a[2];

num[3]=&a[3];

num[4]=&a[4];

display_array(num);

2樓:樂正涵柳

#include "stdio.h"

void display_array(int **p_num) //注意這裡

void main()

; int *num=;

display_array(num);}

3樓:無情一匕

形參與實參型別不同:

void display_array(int *p_num)改為:void display_array(int *p_num)還有輸出: printf("\n%d",p_num[i]);

這輸出是指標的值 也就是一個地址

改為:printf("\n%d",*p_num[i]);

char *a 指標陣列,a中存放地址

C語言的問題,指標陣列,c語言指標陣列

改變不了,字串常量是改不了的,你可以試試char p aaaaa p 1 b 這樣是改不了的 只能定義二維陣列才可以改 char p 3 100 這樣才可以改,不要問為什麼,字串常量就是不能改 直接讓指標指向另一個字串即可 p 0 aaaa 這樣定義指標指向的字串是無法修改的。c語言指標陣列 p是i...

c語言陣列(指標)越界訪問,C語言陣列(指標)越界訪問

與編譯器無關,只與記憶體管理機制有關,是作業系統級別的問題,堆疊的讀取方式只是資料結構上的不同,在機器層面,依然是單純的記憶體讀寫操作 陣列越界訪問的危險性不好評估,但確實是最嚴重的危險之一 結果基本上會100 崩潰,但是崩潰的原因很可能不一樣,就算是同一段越界 跑幾遍,原因也可能是不一樣的 指標越...

c語言中關於二維陣列指標

二維陣列其實在記憶體中等同於一維陣列,僅僅是在編譯階段就幫你轉換掉了。a 3 4 記憶體分配時等同於a 3 4 上面的 應該改寫成printf d p i 4 j p i j 這種寫法系統理解為先取 p i 取p i該位置的值,假設 i 2,那麼該值就是3,然後再去用3 j,假設j 1,那麼 p i...