p語言和c
1. c語言*&p和&*p怎麼算的他們有什麼不同
1、*&p 等價於*(&p)。
2、&*p 等價於&(*p)。
舉個例子:
p是int變數,那麼*&p = p,而&*p是非法的。因為*p非法。
p是int *指針變數,那麼*&p = p,&*p = p,都是p。
2. c語言中,p.和p->有什麼區別
p. p是類的對象,點後面要跟類中的元素,這樣就完成了類裡面元素的調用,元素可以是變數也可以是函數。
p->是傳地址,比如說有另一個變數a,你p->a就把p的地址也給a了
3. 電腦上除了C語言還有什麼語言好象還有個什麼P語言的.
編程語言俗稱「計算機語言」,種類非常的多,總的來說可以分成低級語言(機器語言、匯編語言)和高級語言(C語言、SQL等)兩大類。
4. C語言p和&p的區別
如圖所示,按道理在學匯編後會懂得的
5. 電腦的C語言和P語言等是什麼意思
c就是c語言,經典開發工具是tc2.0 p是指pascl語言
6. c語言中p*是什麼意思,他和*p的區別是什麼
p*
如是出現在算術表達式中,這個星號就是乘號,表示相乘,如果是出現在聲明中(如變數定義),那就表明p是一種數據類型,p*表示要聲明這種類型的指針變數。
*p
依然可以表示相乘的運算,也可表示提取p指針指向的位置保存的值。例如:
int a=9;
int *p=a;
printf("%d",*p);
這個printf()調用中的*p表示提取p指針指向的地址(即變數a的地址)保存的值(即變數a的值)
7. 請問C語言中,p!=0和p=!0是同一個意思嗎,怎麼理解
p!=0是一個比較語句,結果是p不為0的話,表達式結果為1,p為0的話表達式結果為0
p=!0是賦值語句,相當於p=1
二者不是同一個意思。
8. 用P語言和C語言編一個簡單的程序,我只會P,我想看看有什麼區別
#include "stdio.h"//導入庫 void main()//主函數 { int a,b,c;//定義變數 scanf("%d %d",&a,&b);//輸入值 c=a+b; printf("c=%d\n",c);//列印c }
9. c語言中%p是什麼意思
格式控制符「%p」中的p是pointer(指針)的縮寫。指針的值是語言實現(編譯程序)相關的,但幾乎所有實現中,指針的值都是一個表示地址空間中某個存儲器單元的整數。printf函數族中對於%p一般以十六進制整數方式輸出指針的值,附加前綴0x。
%p是列印地址的, %x是以十六進制形式列印, 完全不同!另外在64位下結果會不一樣, 所以列印指針老老實實用%p 。
(9)p語言和c擴展閱讀:
%x同樣輸出16進制形式,不過%x對應的是int型,也就是說,其輸出長度與系統int型占的位元組數相等回。如32位編譯器,int型佔4位位元組,那麼%x輸出的結果最多為16個16進制字元。
而%p輸出寬度取決於系統地址匯流排位數,即16位最多輸出4位16進制字元,32位最多輸出8位16進制字元,64位最多輸出16位16進制字元。
10. C語言 *p 和p的區別
C語言中,*p 和p都常用在指針當中表示一個指針變數,*p 和p的區別:
1、表示的含義不同
*p表示此指針指向的內存地址中存放的內容。
p表示一個指針變數的名字,指此指針變數所指向的內存地址。
2、輸出的格式不同
*p一般是一個和指針類型一致的變數或者常量。
p輸出的是一個16進制數,輸出一個指針的地址。
3、功能不同
*p是讓程序去那個地址取出數據。
p存放的是地址。
例子:
1、int a[5]={1,2,3,4,5};
int *p=a;//這是在定義指針變數p的同時就直接給它初始化,即把數組a的首地址賦給它。
2、int a[5]={1,2,3,4,5};
int *p;//聲明指針變數p
p = a;
(10)p語言和c擴展閱讀
(*p)操作是這樣一種運算,返回p 的值作為地址的那個空間的取值。(&p)則是這樣一種運算,返回當時聲明p 時開辟的地址。可以用賦值語句對內存地址賦值。
例:
int *p;
p=2003H;
*p=3000H
結果:
**p=*(*(p))=*(*(2003H))=*(3000H)=3000H。
&&p=&(&(p))=&(3001H),此時出錯了,3001H 是個常數無法存放地址。
*&p=*(&(p))=*(3001H)=2003H,也就是*&p=p。