陣列名是常量指標,不允許進行修改。
例如char a[20];
char b[20];
cin>>a;
//b=a; 錯誤,無法這樣賦值,因為b是乙個常量指標,也就是說b是乙個無法修改的位址;
但是,運用動態儲存可以解決這個問題。
char * a;
a= new char[20]; //動態分配長度為20的字元型陣列;
cin>>a;
b= new char[20];
b=a; // 正確,這種情況下a、b都不是常亮,都可以進行修改;
內大oj1636的**:
#include
using namespace std;
struct node
;int main()
p->next=null;
for (i=1;ifor (j=1;j<=n-i;j++)
p=p->next;}}
p=head;
dowhile(p);
}
C 靜態儲存,動態儲存
什麼是靜態儲存,動態儲存 靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被呼叫時,才予以分配,呼叫函式完畢立即釋放。如果...
C語言動態儲存分配
在陣列一章中,曾介紹過陣列的長度是預先定義好的,在整個程式中固定不變。c語言中不允許動態陣列型別。例如 int n scanf d n int a n 用變數表示長度,想對陣列的大小作動態說明,這是錯誤的。但是在實際的程式設計中,往往會發生這種情況,即所需的記憶體空間取決於實際輸入的資料,而無法預先...
c語言動態儲存機制
使用這些函式首先要引用stdlib.h 動態開闢一片位址 e.g.int n double scores scanf d n scores double malloc n sizeof double if scores null 分配好後動態開闢一片記憶體位址,並將整個區域清0 e.g.scores...