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 ...