c語言指標初始化的問題

2022-12-21 15:21:05 字數 788 閱讀 7224

1樓:匿名使用者

如果你是需要賦字串的,不需要給它分配空間,但是如果你要給指標結構體賦某個值,那是需要給指標指定記憶體空間的,所以你上面的程式只要這樣就好了:

main()

%s的話,就是後面的str1之類的東西是要一個地址

2樓:

main()

str2 = "bushishabi"; // 去掉{}printf("%s\n%s\n",str1,str2);

// 要釋放,不然記憶體洩漏!程式退出後,作業系統不**此段記憶體,不能再用了,浪費!

free(str1);

free(str2);

} // %s 對應的引數是 char *型就好了,別的沒什麼注意的!

3樓:喬德爭

1.標頭檔案沒加應該加上#include

2.沒必要用malloc動態分配指標改為:

main()你試試

4樓:匿名使用者

你這個例子中不用使用malloc為指標分配初始空間,

main()

再試試。

5樓:匿名使用者

#include

#include

int main()

--1.未包含標頭檔案malloc對應的標頭檔案malloc--2.str1 = ; 這是字串指標,不應該這麼複製,應該str1 = "shabi";

6樓:匿名使用者

不需要分配記憶體空間!

c語言指標初始化,c語言指標初始化

int array 4 5 6 一級指標,指標向一個陣列,該陣列為int 4 5 6 int a 4 5 6 pa 二級指標,指向上一行的一級指標 對於動態分配的結構,不可能用陣列這種形式來儲存的。因為陣列的下標必須在編譯時刻明確為常量。樓主用的c 可以考慮用stl的vector。另外,我覺得本身用...

c語言memset初始化結構體問題

1.memset函式的原型void memset void s,char ch,size t n 函式的第一個形式引數是指標型別,所以實參因為一個地址,即 a注意 a與a是不同的.a是結構體變數名,而 a是變數a的地址.2.另外memset 是一個庫函式函式,需要加標頭檔案 include 3.正如...

c語言定義整型陣列並未初始化資料

首先要清楚什麼是初始化 在宣告變數的同時賦值就是初始化。而在其後的賦值語句就不是初始化。一般來說,如果你不給變數一個確定的值,就直接引用它,則系統不能保證執行的唯一性,而這是我們程式所不允許的。所以我們一般用初始化的方法來確定其值。如char str 100 引用memset str,sizeof ...