-
請記住,應該有乙個輸入。
-
在C語言中,資料型別大致可以分為兩類,一類是值型別,另一類是引用型別。 初學者經常對型別的交叉賦值感到困惑,尤其是引用型別變數的交叉賦值。
讓我舉兩個例子。
值型別變數的賦值:值型別變數儲存實際資料,賦值時,只需複製資料並將其賦給另乙個變數即可。
示例 1:int var1=2;
int var2=var1;編譯器複製 var1 的值,然後將其分配給 var2很明顯,var2 的值也為 2
引用型別變數的賦值:引用型別變數包含“指向實際資料的引用指標”。 在執行賦值操作時,它與值型別相同,並且首先有乙個複製操作,但它不是複製實際資料,而是引用(真實資料的記憶體位址)。
因此,當乙個引用型別的變數被賦值時,它實際上是賦值給另乙個變數的記憶體位址。 賦值完成後,相同的引用將儲存在兩個引用變數中,並且它們指向完全相同。
示例 2:類 myclass
public int val;
struct mystruct
public int val;
class program
static void main(string args)
myclass objecta=new myclass();
myclass objectb=objecta;引用變數的賦值 賦值操作完成後,兩個變數指向相同的記憶體位址。
賦值 = 10 由於 objectb 和 objecta 指向相同的記憶體位址,因此該值也是 10
賦值 = 20 由於 objectb 和 objecta 指向相同的記憶體位址,因此該值也是 20
mystruct structa=new mystruct();
mystruct structb=structa;結構為值型別賦值操作完成後,兩個結構中的結構資訊一致。 請注意,“結構中的資訊”是一致的。
;輸出為 20
輸出為 20
輸出為 30
輸出為40;
-
首先,您應該清楚變數的型別,如果資料型別與變數型別不匹配,則無法為變數賦值。
我是初學者,所以我會給你幾個簡單的例子。
int 型別是整數型別。
int i ;定義整數型別的變數 i
i = 6;整數型別可以像這樣分配。 此外,還可以將值分配給與要分配的變數型別相同的變數;
int i , j;
j = 888;
i = j;這樣 i 等於 888,所有型別的變數都可以用這種方式分配。
string type:字串的型別。
string a;A 定義為字串型別的變數。
a = "我是中國人,12345,abcde";字串型別是用雙引號括起來的型別,無論是數字、符號還是字母,都只被視為字元。
char type:字元。
char x;
x= '1';char型別是用單引號括起來的型別,可以有數字、字母、符號等,只能有乙個個位數,多一點會造成錯誤。
我通常只使用這些型別的變數,其餘的你可以在網際網絡上查詢。
順便說一句,你說是應用程式為變數賦值...... 我不知道理解是否正確......
您可以建立乙個文字框小組件來儲存您在鍵盤上鍵入的內容,然後建立乙個按鈕小組件,以便在單擊變數時將文字框值分配給變數。
例如:按鈕單擊事件 (..)。
-
變數名稱 = 值。
等號的左邊是要分配的變數,右邊是具體值。
示例:1. string name ='風的世界';
2、int age;
age = 18;
如果你現在使用的是C++,為什麼使用結構而不是類定義? 這就是結構的問題,一直沒有解決方案,於是物件導向程式設計的想法誕生了。 使用類定義,可以將資料和方法寫入稱為 OOP 的型別中。 >>>More
………童鞋:你搞砸了你的指標。
首先,填充功能確實設定了您分配給它的所有空間'\0',但指標 p 不再指向您分配的空間,而是指向記憶體中“堆”的頂部; 然後,func 2 再次將其向上移動,按 num 位和位元組移動它,此時它指向 **? 反正不是你想要的地方。 將它指向的記憶體設定為'\0',則 strlen 應該得到 0,後面跟著 blank 將沒有任何輸出。 >>>More