1樓:三尺長鋒退千軍
#include
using namespace std;
typedef struct pan
int flag;
int barriy;
int direction;
int data;
pan; int main()
pan locate[10][10];
int i,j;
for(i=0;i<10;++i)
你太粗心了,這裡應該「for(j=0;j<10;++j)」,要不然i<10永遠成立,死迴圈導致locate[i][j]越界! *
for(j=0;i<10;++j)
locate[i][j].data=10*i+j+1;
return 0;
2樓:網友
for(j=0;i<10;++j)
裡面是不是打錯了 應該是。
for(j=0;j<10;++j)
3樓:網友
對的,沒有問題啊,我在vs2005裡執行了,沒有什麼問題。
4樓:
比較粗心啊!!
把 j 打成 i 了。
這樣就沒有答案出來了。
結構體問題求解答謝謝
5樓:網友
1)2)
3)1和2根據下面的sum知道是要複數求和,所以實部和實部相加,虛部和虛部相加。
3根據下面的product知道是要複數乘積,所以實部就等於兩數實部相乘減兩數虛部相乘。
結構體的問題,求解答
6樓:擁雲莊主
struct pack;
1)如果相鄰位域欄位的型別相同,且其位寬之和小於型別的sizeof大小,則後面的字。
段將緊鄰前乙個欄位儲存,直到不能容納為止;
2)如果相鄰位域欄位的型別相同,但其位寬之和大於型別的sizeof大小,則後面的字。
段將從新的儲存單元開始,其偏移量為其型別大小的整數倍;
3)如果相鄰的位域欄位的型別不同,則各編譯器的具體實現有差異,vc6採取不壓縮方。
式,dev-c++採取壓縮方式;
4)如果位域欄位之間穿插著非位域欄位,則不進行壓縮;
5)整個結構體的總大小為最寬基本型別成員大小的整數倍。
7樓:半日清閒
a,32位,即佔4個位元組,是4位元組對齊的。
b,8位(第4個位元組),c,4位(第6個位元組低4位),4位元組對齊,填充2位元組。
所以輸出為8位元組。
8樓:網友
估計你的作業系統是 64位的 當你用 sizeof(結構體名字) 的時候 其實返回的是 這個pack 名字對應的位址大小,說白了就是做結構體名稱其實是乙個位址從這個位址開始依次排列你的結構體中的內容!
所以說如果你的作業系統64位的 那麼返回的一定是 8,即這個位址的大小。
9樓:網友
你要先弄明白兩個問題,1.位域結構體!2.結構體對齊原則!
參考**。看完你應該就懂了。
c或c 結構體成員的呼叫的問題
什麼問題沒講明白,沒有人能知道給你解答 c的結構體與c 的結構體的區別 答 標準c中定義,c語言中的結構體內是不能宣告函式的 c 結構體中可以有函式的宣告,不過他們都是歷史遺留下來的產物 現在,應該避免使用結構體,因為結構體都可以由類來代替 你應該問類與結構的區別,類中如果不宣告成員的訪問控制屬性,...
定義了結構體,結構體有個成員變數是指標型別,而這個變數有是結構體,請問怎麼對這個指標初始化
例如有a,b兩個結構體,a中有b 在main中需要先初始化個b,完成b之後,然後呼叫a.b,這樣就可以完成了!如果直接呼叫a的話,有可能溢位 沒賦具體值時都給null就好 struct a a struct a malloc sizeof struct a memset a,0,sizeof str...
c 繼承後的記憶體分配問題,c 中給結構體分配動態記憶體的問題 用new嗎 怎麼用
不能訪問是不能直接通過派生類物件直接呼叫,但是可以通過派生類的成員函式呼叫基類的公有函式來訪問基類的私有屬性.難道編譯器會分配一塊記憶體放著不管造成記憶體洩漏?因為在派生類中通過可以定義新函式成員來訪問這些記憶體 間接訪問 比如呼叫基類派生下來的成員函式 所以這些記憶體是可以被主動訪問或銷燬的。私有...