當前位置:首頁 » 編程語言 » c語言指針轉換變數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言指針轉換變數

發布時間: 2023-01-08 16:20:51

c語言指針變數值交換

你只是a和b換個值,幹嘛要用指針,用temp就行了。你定義的兩個指針也沒用上啊,而且a和b換值,最好的做法是
a=a^b
b=a^b
a=a^b
如果我沒記錯的話就是這樣子,利用異或最省計算資源了。

㈡ C語言指針中怎樣強制轉換變數類型

在變數的前面加上強制轉換符號就可以了,比如要講變數a轉換層整形
可以這樣寫(int)a

㈢ C語言指針使用函數交換兩個變數的值

這個地方會出現不好理解的東西。
調用函數的時候,你放入了int a int b 但是這其實不是你的main函數中的a b只是相當於他們的副本,也就是復制了一個a 和b 傳入函數 所以你改變的只是傳入的副本 也就是復制的副本a b所以在main函數中列印的ab不會出現變化 依然是a=3,b=6
現在回答第二個問題,怎麼會讓ab的值變化:傳入指針,也就是在main函數中使用a b的指針,然後吧指針傳入到函數裡面 這個時候ab就會真正的發生變化,因為指針指向的是ab的物理地址,也就是真正的ab,不是副本,這個時候就會改變ab的值。想要理解,可以去網路傳值參數和引用參數。純手打,望採納

㈣ c語言指針強制轉換

1、int *p=(int *)0x
這是將指針變數p指向一個絕對地址;而地址只是一個數值,需要轉成指針類型才能與p匹配。
2、強制類型轉換的一般形式為:(類型說明符)(表達式),例如: (float) a 把a轉換為浮點型,(int)(x+y) 把x+y的結果轉換為 整型。強制類型轉換是通過類型轉換運算來實現的。功能是把表達式的運算結果強制轉換成類型說明符所表示的類型。注意事項:①類型說明符和 表達式都必須加括弧(單個 變數可以不加括弧),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之後再與y相加了。②無論是 強制轉換或是自動轉換,都只是為了本次運算的需要而對 變數的數據長度進行的臨時性轉換,而不改變數據說明時對該 變數定義的類型。

㈤ C語言中指針變數值互換問題

先聲明一個臨時變數p
p1,p2是兩個指針,分別指向需要換值的兩個數的地址
*p1是p1地址中數值
先將p1的值保存在臨時的p中,在將p2的值賦給p1地址處
然後再將p的值送回p2中,因為p剛剛被p1賦值,所以p2的值就變成p1的值,達到互換的目的

㈥ C語言如何把指針指向的值賦值到變數上。。。

str1是個常量指針,不能對他進行賦值操作, 用也應該寫成p=str1; 另外初始化的話一般是char* p=NULL; 或者char* p; p=NULL;

㈦ C語言指針變數怎麼轉化為普通類型變數

賦值語句即可傳遞數值。
指針變數: 聲明 int *p; 語句中 *p 表示 值, p 表示 地址。
普通變數: 聲明 int x; 語句中 x 表示 值,&x 表示 地址。
#include <stdio.h>
int A(int a,int *b)
{
*b=a; //賦值語句即可傳遞數值
return a;
}
int main()
{
int a,b,c;
a=10;
c=A(a,&b);
printf("%d %d %d\n", a,b,c);
return 0;
}

㈧ C語言怎麼讓指針指向某個變數

首先要知道兩個最基礎的知識點:
1、&a指向的是a的地址。
2、指針指向的是地址,和整型變數的值並不對等,也就是int *與int不對等,是不能從int轉換為int *的。
知道以上兩個最基礎的知識點,你的問題就很簡單了 。
第一個:
int *p;

p=&a;
是正確的。定義指針變數p,然後才將p指向變數a的地址。
第二個:
int *p;
p=int* (&a);
p是指針,指向的是地址,而不是int型值,因此是錯誤的。
第三個:
int *p=a;
不能從int轉換為int *,因此是錯誤的。
只有第一個是正確的,後面兩個都是錯誤的。