[課業] 程式語言兩題
1.已知陣列M[15][12],每個元素4bytes。M[5][5]位址=13244868,行為主儲存模式,
則M結束位置為...
我是算13244868+((11-5)*15+(14-5))*4=13245264
可是書本上說還要加3 所以不清楚加3的原因為何
2.#include <stdio.h>
#include <stdlib.h>
#include <string.h>
union grade{
char course[5];
int score;
}Bob;
void printBob(void){
printf("Bob科目=%s\n",Bob.course);
printf("Bob成績=%d\n",Bob.score);
}
int main(void){
Bob.score=98;
strcpy(Bob.course,"數學");
printBob();
strcpy(Bob.course,"數學");
Bob.score=98;
printBob();
system("PAUSE"); return 0;
}
output是Bob科目=數學
Bob成績=-943798596
Bob科目=b
Bob成績=98
那個-943798596和b是怎麼形成的不太清楚
還請會的大大賜教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.166.245
推
07/27 23:19, , 1F
07/27 23:19, 1F
→
07/27 23:20, , 2F
07/27 23:20, 2F
推
07/27 23:20, , 3F
07/27 23:20, 3F
我知道共用記憶體空間
→
07/27 23:28, , 4F
07/27 23:28, 4F
起始位址M[0][0]
※ 編輯: Mayinggo 來自: 111.242.11.49 (07/28 08:55)
→
07/28 09:21, , 5F
07/28 09:21, 5F
找到了
陣列結束指標是陣列中要排序的最後一個位置的下一個位置,也就是說會被排序的是一個
半開區間
還請大大解釋union的概念
※ 編輯: Mayinggo 來自: 111.242.11.49 (07/28 09:42)
推
07/28 11:03, , 6F
07/28 11:03, 6F
→
07/28 11:04, , 7F
07/28 11:04, 7F
討論串 (同標題文章)