[問題] 關於strcpy 的 char

看板C_and_CPP作者 (Jun)時間15年前 (2010/11/03 12:26), 編輯推噓4(406)
留言10則, 6人參與, 最新討論串1/3 (看更多)
各位大大不好意思,我又有問題了,想請問一下下面的程式 #include<stdlib.h> #include<stdio.h> #include<string.h> struct node { char x[]; int z; }; int main() { node stud ; strcpy(stud.x,"ffffffff"); system("pause"); } 其實我最主要是想說利用x[]這個可以隨意存取名字,但我不想浪費記憶體, 不想事先宣告說x []內的大小,想讓他自己抓,但我再用strcpy(stud.x,"ffffffff"); 這行的時候,自元數字超過七個以後就會開始執行出問題,不知道為什麼? 還是說我不能宣告x[]這樣呢,一定要定義x[]內的大小嗎?我是用dev c++ compiler的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.214.78

11/03 12:37, , 1F
對,你要事先告訴他大小
11/03 12:37, 1F

11/03 12:45, , 2F
宣告一定要先給大小
11/03 12:45, 2F

11/03 12:49, , 3F
如果我宣告x[10],卻只輸入ab,不就放費8byte了
11/03 12:49, 3F

11/03 12:50, , 4F
如果不想浪費記憶體,就自己malloc一塊,因為編譯器非算命仙
11/03 12:50, 4F

11/03 12:50, , 5F
所以你要用多少得自己算出來後自己作記憶體配置喔.
11/03 12:50, 5F

11/03 12:57, , 6F
可以請問一下板上的大大,如果我程式malloc要怎改呢?
11/03 12:57, 6F

11/03 13:02, , 7F
記憶體很便宜 才8byte就別在意了
11/03 13:02, 7F

11/03 13:06, , 8F
http://codepad.org/9Tzx4Xkl 寫C語言請把附檔名改成
11/03 13:06, 8F

11/03 13:07, , 9F
.c 看你定義 stud 沒有給 struct 就知道這是C++, 自
11/03 13:07, 9F

11/03 13:08, , 10F
訂型別首字請大寫, 用函式當介面來作初使化的動作
11/03 13:08, 10F
文章代碼(AID): #1CqEI5tQ (C_and_CPP)
文章代碼(AID): #1CqEI5tQ (C_and_CPP)