㈠ 在c語言中能否直接給指針指向的數據賦值為什麼
肯定能。
但你編寫的:int
*p;*p=7;這樣的程序不對。因為「能直接給指針指向的數據」賦值,而你編寫的小程序里的p還沒有指向,所以不能賦值;
這個指針叫「懸浮指針」,也叫野指針,它不能被賦值的。需要這樣編寫才可以:int
a,*p=&a;*p=7;
㈡ p箭頭qc語言什麼意思
賦值。C語言中,這個表達式的意思就是「將p的地址賦值給。」這條語句一經執行,p就「指宴核向」局祥悉了q,C語言是一門面向過程的、抽桐乎象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。
㈢ C語言指向不同數據類型的指針可以直接賦值嗎
這種是不會出錯的
比如這個代碼
#include<stdio.h>
intmain()
{
inta=2,*q=&a;
floatb=2.1,*p=&b;
*q=*p;
printf("%d%f ",*q,*p);
return0;
}
會輸出2 2.100000
這個等效於 a=b, float賦值給int,會自動做強制轉換,也就是向下取整。
當如果是 q=p 那就不行了。 不同類型指針不可以直接賦值。
如果一定要兄渣賦值 可以q=(int *)p;做顯式的強制轉換。 但是由於int和float的存儲結果不同,得到的拆塵旦值也是錯的。旅擾
㈣ 程序流程圖中的單箭頭表示賦值嗎如A=6,B=9,A→B 是不是就B=A=9了還是B=6+9=15
專業人士解答如下:
A→B是灶褲碧「偽代碼」,表示將變數A的值賦給變數B,寫作程序代碼,就是B=A,由於此前A=6,B=9,因此執行B=A,就是將A的值6賦給變數B,隱舉故B的值也是6了(A的值仍為6不變純桐)
㈤ C語言偽代碼中的那個右箭頭什麼意思啊,,半天沒看懂,
就是x=0。c語言x=0的意思就是把0賦值給x,和圖上的意思一樣
㈥ 在C語言中能否直接給指針指向的數據賦值為什麼
可以直接給指針指向的數據賦值。
因為*p操作是這樣一種運算,返回p的值作為地址的那個空間的取值。存放地址的變數稱為指針變數。指針變數是一種特殊的變數,它不同於一般的變數,一般變數存放的是數據本身,而指針變數存放的是數據的地址。
在使用一個指針時,一個程序既可以直接使用這個指針所儲存的內存地址,又可以使用這個地址里儲存的函數的值。
(6)c語言箭頭能賦值嗎擴展閱讀:
兩個地方要注意:
1、在程序聲明變數的時候的*,只是表明「它是一個無符號整數,這個整數指向某個內存地址,一次訪問sizeof(type)長度」。這點不要和(*)操作符混淆;
2、在C++程序聲明變數的時候的&,只是表明「它是一個引用,這個引用聲明時不開辟新空間,它在內存分配表加入新的一行,該行內存地址等於和調用時傳入的對應參數內存地址」。
這點不要和(*)聲明符,(&)操作符混淆。
網路-指針
㈦ C語言中,用流程圖表示演算法,用到一個帶箭頭的等號,這個符號的名稱和意思是什麼
是向右的箭頭(→),如1→t,其意思是把1送給t,t*i→t是把t乘i的積再送給t。流程圖中用最簡潔寫法的來表達處理過程。←→在C語言教材中偶有出現,也是表示等價、等同的意思
㈧ 我看了一本書叫C語言程序設計,其中的箭頭指什麼,什麼意思謝謝了,大神幫忙啊
樓上遲飢沒說的不對。箭頭表示賦值的意思。這是偽代碼來著。相當於把左邊的值賦碼納值給右邊 (具體還得看箭頭所指的);t×i→t相當於t=t×i
麻煩采肢肢納,謝謝!
㈨ 在C語言中能否直接給指針指向的數據賦值為什麼
可以,但int *p;*p=7;這樣不行。
因為「能直接給指針指向的數據」賦值,而這里的p還沒有指向,所以不能賦值,這種指針有個名字叫「懸浮指針」,是不能給它賦值的。
這樣才可以:
int a,*p=&a;*p=7;
實際上就是使a等於了7。
(9)c語言箭頭能賦值嗎擴展閱讀:
注意事項
也可以使用賦值運算符為指針變數賦值,但要保證兩個指針變數的類型相同。
假設有如下變數定義:
int i,j,*p,*q;p=&i;q=&j;
這兩句將變數i和j的地址分別賦值給指針變數p和q;
執行了q=p後,執行該條語句,指針變數p和q都指向了同一個變數i,因此指針變數p和q中存放的都是變數i的地址&i。變數i此時並沒有初始化,只為其分配了內存單元。
注意理解:q=p;和*q=*p
前者為指針變數q賦值,即將指針變數p中存放的某個變數的地址賦值給q。顯然,賦值後,q和p就指向了同一個變數。
後者將p指向變數的賦值給q指向的變數。
例子:
p=&i;
q=&j;
i=2;
j=3;