c 中byte指標如何賦值

時間 2021-06-25 14:43:59

1樓:匿名使用者

因為沒有給m_explain申請記憶體,如果是指標,必須先申請記憶體。或者使用陣列,讓系統自動分配記憶體。

可改為:

static jbyte *m_explain = malloc(2*sizeof(jbyte));

int i=0;

m_explain[i++]=(jbyte)0xff;//這兩行始終執行不下去

m_explain[i++]=(jbyte)0x11;

//釋放記憶體

free(m_explain);

或者static jbyte m_explain[2];

int i=0;

m_explain[i++]=(jbyte)0xff;//這兩行始終執行不下去

m_explain[i++]=(jbyte)0x11;

2樓:匿名使用者

static jbyte *m_explain;這兒編譯不報錯麼?

感覺應該報錯才對的,靜態變數沒有初始化

m_explain沒有指向任何地址呢

試試用static jbyte *m_explain = new jbyte[128];這樣,先分配記憶體試試?

C 中,給指標賦值時,int P和

臺藻趙玥 都是定義了乙個指標變數,然後把a的位址複製給這個指標變數,效果基本是一樣的。稍微的區別是,乙個是直接賦值,乙個是先定義,後賦值。區別在於,第二種先定義,後賦值的情況,如果定義與賦值間還有其他 那麼p指向的位址是未知的,所以使用的話會有未知行為。如果定義與賦值是連續的語句,那麼上述兩個內容就...

c語言的賦值問題,C語言指標的賦值問題

上面的說法中,都存在錯誤或不足.1.首先 c a b 的意義是把 a 和 b 這兩個變數的內容 5 和 6 相加得 11,再把 11 這個結果值傳送至 變數 c 所在的儲存單元儲存起來 而不是你想像的 將 a 和 b 這兩個變數組合為一個變數作為 c,或者複製一份變數組合再作為 c.當你用int a...

C語言指標問題,行指標的賦值與取值

1.p a 1可以。表示p指向陣列a的第1行。2.p a表示p指向陣列a的第0行。3.p a.則 p是陣列a的首地址,這個地址型別是int 4.可以定義成 p 4 但不能p a。因為它們型別不一致。5 p的值與型別與a 0 相等。 菜刀剁菜鳥 1.正確 2.p a是表示p指向陣列a的第0行 p指a ...