c使用charanewchar的問題。。急

2021-05-15 13:25:48 字數 4667 閱讀 1378

1樓:匿名使用者

字串尾部應該有個'\0'作為字串結尾標誌,所以申請空間應該多申請一個:

char*temp_name=new char[y+1];

在for(){}迴圈後面,加上temp_name[i]='\0';就行了.

c++使用char* a=new char[]的問題。。急

2樓:

字串尾部應該有個'\0'作為字串結尾標誌,所以申請空間應該多申請一個:

char*temp_name=new char[y+1];

在for(){}迴圈後面,加上temp_name[i]='\0';就行了.

c++ char*型別new的記憶體釋放出問題了

3樓:

point = new char[5];時 point指向bai了du一新分配的記憶體

point = "fda";時,zhipoint拋棄了dao剛new的記憶體,指向了"fda"所在地址。fda"本身已經被分

回配好答記憶體。所以剛才的new記憶體已經失去意義,因為point已經不再指向它了。這也是造成記憶體洩露的一個原因,因為剛動態分配的那塊記憶體已經沒辦法釋放了(被point指標拋棄了,沒辦法再找到這塊記憶體地址,也就沒法delete)。

"fda"的記憶體不是動態分配的,所以delete時出錯。

這要一個一個字元來操作:point[0] = 'f'; point[1] = 'd'; point[2] = 'a'; 或者參考 jxq61 兄的回答。(注意,這裡才是真正的把字元存到新分配的記憶體裡)

4樓:匿名使用者

point 是指標。指向了bai一du

個字串。這個字串是zhi佔六個位元組的。daopoint = new int[10]; 這個是申請了版

一個動態記憶體,int型的權佔4個位元組。 int[10].只是一個整形變數,並不是申請了10個int型的記憶體。而是,只申請了一個。六個位元組的東西往四個位元組裡存,能不出錯嗎?

我是學c語言的,c++只是看了看。我按照c語言的東西來解釋的。希望對你有用。

5樓:匿名使用者

point = new int[10] 表示你分配了 10個int型的空間,你給它賦字串肯定錯了。

就如 int s[5] = "hello"

6樓:萬哩挑壹

delete q;//釋放

原來來的

delete p;//釋放現在的源 '

記住:記憶體釋放了之後不能再使用bai該塊記憶體,最好在釋du放之後將指標zhi變數賦dao值為空 。

delete q;

q= null;

c++是在c語言的基礎上開發的一種物件導向程式語言,應用廣泛。c++支援多種程式設計正規化 --物件導向程式設計、泛型程式設計和過程化程式設計。最新正式標準c++14於2023年8月18日公佈。

其程式設計領域眾廣,常用於系統開發,引擎開發等應用領域,是至今為止最受廣大程式設計師受用的最強大程式語言之一,支援類:類、封裝、過載等特性!

7樓:匿名使用者

point = new char[5];

point = "fda";//這句來話登出了就源對了 不知道為什麼

point = "fda"

應改為:

memmove( point, "fda", 3);

或:strcpy( point, "fda");

在最前面加上:

#include "string.h"

8樓:匿名使用者

程式在解構函式中釋放字元陣列的時候失敗了,程式試圖去釋放尚未分配的記憶體空間

關於c++動態記憶體分配 這樣寫會不會出什麼問題? char *a = new char []; a

9樓:匿名使用者

請在new char的時候就寫好申請內

存的大小new char[size], 編譯器並不會從後文或者執行時推斷需要多少記憶體

我沒查到不在裡寫上申請記憶體大小時編譯器會怎麼處理, 看上去應該會報錯才對, 能通過編譯的話我猜可能是當作0或者1或者某個預設值, 總之申請到的記憶體不一定能存得下從cin接收的字串

即使不填上要申請的記憶體大小也能正常執行可能只是char *a指向的那一塊記憶體剛好沒有被用到而已, 從cin輸入的字串足夠長的話多半就會報錯了

請問在c++裡,為什麼char *p=new char[n]需要delete而char *p="a

10樓:匿名使用者

你需要關注一些記憶體分配,第一種在堆裡分配了空間所以只能由程式設計師手動**,第二種不是在堆記憶體分配空間,具體在**分配的不記得了,是不需要**的

11樓:殘留的信仰

是的,new出來的空間是建立在堆上,是需要操作者本人進行清除的

而char *p="abcde"建立的空間是在棧上,是由系統自動清理

12樓:_玄武酷酷熊

第一個是分配在堆上,需要人工釋放,第二個一般是分配在棧上,由os釋放

c++問題在類的建構函式裡char*要不要new一下在賦值?詳細**如下:

13樓:匿名使用者

這個是要看傳進來char*指標的生存期了,如果比這個class要長是不用new的,如果傳進來指標很快就銷燬了,那就要new一個新的出來,你的例子是不需要的,const的指標生存期是全域性的

14樓:笑年

不必要。

因為ch是指標。而s也是指標

只是把ch的指標指向s的指標所指的值

也就是說只是移動ch的指標,並未分配記憶體

c++ 語言中char a="a"; 和char a='a' 有什麼區別

15樓:匿名使用者

char a='a' 是合法的

char a="a' 是不合法的

char型不能為字串,只能為字元

16樓:匿名使用者

「a」表示字串,字串長度等於內容加『\0』的長度,所以是佔用兩個位元組記憶體。『a』表示字元,佔用一個位元組記憶體。而一個字元變數長度永遠為1位元組,所以前者寫法錯誤,應該寫成 char *a = "a"。

17樓:匿名使用者

前面是錯的。「a」為const char *, 「a」= 『a'+ '\0'。

(char*)問題

18樓:匿名使用者

unsigned int ab;

這樣得到的ab是一bai個du無符號整型zhi的變數,&ab是ab這個變數的dao地址,也就是一個「unsigned int *」型別的指標回。「(unsigned char*)」的意答思是強制轉換,在這裡將「unsigned int *」型別轉為「unsigned char *」型別。

可參考下面**:

unsigned int ab;

unsigned int *pui = &ab;

unsigned char *puc = (unsigned char *)pui;

19樓:匿名使用者

(unsigned char*)是為了指標強轉型別,也就是把一個其他型別的指

針轉換為一個unsigned char*。另外,&ab是取內ab變數地址的容意思。指標跟地址你基本可以認為是一個東西。

所以這句話的意思就是把變數ab的地址轉成一個unsigned char*。

不過我覺得這樣做實在不好~~

20樓:匿名使用者

指標變數的大小是不是就是unsigned char.

通用用sizeof(unsigned char*)=4個位元組來儲存一個指標變數?

把一個整型變數通過這種方式來變成一個指標變數

c++char型陣列問題

21樓:天一弦劍

糾正你bai的**

du:int n;

cin >> n;

char *string=new char[n + 1];

for(int i=0;i試吧,zhi 記住:字元dao串是版以'\0'結束權的。

22樓:匿名使用者

我倒是奇bai怪了,你這程式能編譯?du首先cin<< 輸入應zhi該是cin>>吧,然後你的

daoc從哪蹦內出來的?

容宣告在哪? 可能是你的程式不給完整吧,在別的地方宣告瞭?那得標示出來,要不怎麼看你程式的問題在哪咯?

最後,你用了自由儲存空間,卻沒有用delet釋放記憶體歸還給計算機。。。

23樓:匿名使用者

你的c是什麼啊

而且cin的格式應該是cin>>n;

24樓:谷岑僪昭昭

糾正你的**:

intn;

cin>>

n;char

*string=new

char[n

+1];

for(int

i=0;i,

記住:字串是以

回'\0'結束答的。

如何使用c語言做簡單的計算器,如何使用C語言做一個簡單的計算器

我試一下了 include include int main void return 0 該例中乘法用的是x,因為 有特別的含義 include using namespace std int main system pause return 0 編這個肯定不是一會兒的事,不過我建議你去csdn下一...

JNIEnv的使用在C和C 中的區別

c 中delete和delete的區別如下 在 用 new 分配的單個物件的記憶體空間的時候用 delete,用 new 分配的一組物件的記憶體空間的時候用 delete。程式舉例說明 include using namespace std class t t int main 基本型別的物件沒有解...

怎樣使用C的RichTextBox控制元件

這是高階文 本顯copy示控制元件。它比textbox來的更高階,支援段落和格式。text屬性 string 控制元件正文 readonly屬性 bool 控制能否讀寫clear 方法 清除所有文字 backcolor屬性 color 背景顏色forecolor屬性 color 文字顏色,前景色其它...