作者vm6jp6rmp4 (Jun)
看板C_and_CPP
標題[問題] 關於strcpy 的 char
時間Wed Nov 3 12:26:43 2010
各位大大不好意思,我又有問題了,想請問一下下面的程式
#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
推 littleshan:對,你要事先告訴他大小 11/03 12:37
推 chchwy:宣告一定要先給大小 11/03 12:45
→ vm6jp6rmp4:如果我宣告x[10],卻只輸入ab,不就放費8byte了 11/03 12:49
→ DEATHX:如果不想浪費記憶體,就自己malloc一塊,因為編譯器非算命仙 11/03 12:50
→ DEATHX:所以你要用多少得自己算出來後自己作記憶體配置喔. 11/03 12:50
→ vm6jp6rmp4:可以請問一下板上的大大,如果我程式malloc要怎改呢? 11/03 12:57
推 zerodevil:記憶體很便宜 才8byte就別在意了 11/03 13:02
→ loveme00835:.c 看你定義 stud 沒有給 struct 就知道這是C++, 自 11/03 13:07
→ loveme00835:訂型別首字請大寫, 用函式當介面來作初使化的動作 11/03 13:08