這是我今天的第二個問題,指針給我做惡夢。 我試圖做一個程序,做同樣的事情,strcpy()函數做.. 一旦我嘗試它..它崩潰,我100%確定這是我的代碼中的指針問題。我認爲,因爲有一些unintiallized指針(*複製)..但我已經分配了NULL ...所以有人可以告訴我什麼是空分配正是爲了什麼?因爲我認爲我誤解了它的使用。並告訴我,該程序能夠正常運行哪些更正。程序崩潰,指針試圖使strcpy像
#include <iostream>
using namespace std;
void mycpy(char *b , char *a);
int main()
{
char *original = "this is a text" ;
char *copied = 0 ;
mycpy(copied , original);
for(int i = 0 ; *(copied+i) ;i++) cout << *(copied+i) ;
return 0;
}
void mycpy(char *b , char *a){
for(int i = 0 ; *(a+i) ; i++) *(b+i) = *(a+i);
}
在此先感謝。
可能想的strlen(原件)+ 1,和拉斐爾可能想複製的終止\ 0爲好。 – ChrisInEdmonton 2010-02-12 19:58:37
@ChrisInEdmonton,謝謝,正在衝,並沒有注意.... – Glen 2010-02-12 20:03:28