1樓:匿名使用者
首先p是指標變數,這個意思就是p所指向的地址儲存的內容將變成b+1的值,也就是改變了p指向的值
2樓:匿名使用者
指標p的值,等於 b+1~
c語言中 a*=b+1是什麼意思 5
3樓:匿名使用者
相當於這樣:a = a * (b+1)也就是先算出b+1的值,然後乘以a的值,最後賦值給a
4樓:匿名使用者
相當於a = a * ( b + 1 );
比如a為3,b為5
a = 3 * ( 5 + 1 )
5樓:匿名使用者
首先你要明白什麼是表示式,還有變數
。a是一個變數。
a++,++a都是a加了版1.
比如a原來是1,執行權了a++或++a後,a變數的值就是2了
至於a++和++a的區別主要是在表示式上的區別。
++a是先執行了a加1後,參與表示式的計算。
a++是a先參與表示式的計算,後執行自加1.
比如:int a,b;
a=1;//如果你想把a的值1,付給b.那麼,但你又想使得a加1。你就可以這麼做
b=a++;//++在a之後,先把a的值付給b,然後再本身加1 。這時候b=1,a=2了。
//如果你還不懂得話。b=a++;的意思 就是b=a;a=a+1;這兩句意思
//而b=++a 就是 a=a+1;b=a;的意思
至於a++=a+a+1
好像寫錯了吧
是a+=a+a+1
優先順序等於 a=a+(a+a+1)//a+=b 是 a=a+b 的簡化
!= 不等於,是條件運算子,用來判斷真假的。
比如1!=2; 表示式的值就是假,也就是0;
c語言很多式子都是簡化的,這樣雖然可以節省**,卻比較讓人糊塗。
c語言中*p=&b和int *p,p=&b有什麼區別?
6樓:匿名使用者
*p=&b
一般是二級指標會用到的,即*p的值是b地地址int *p, p=&b;
p指標指向b。同理,*p=&b,是*p指向b一個是一級指標,一個是二級指標
7樓:我個去又被註冊
*p=&b這個語句不合法吧。
int *p;p=&b; 這個語句的意思是p是一個指向int變數的指標,現在把b的地址賦值給p。 &b是指b的地址。
c語言中 *p=*p+1 還是*p=(*p+1)
8樓:匿名使用者
為什麼我的結果是2 3
還有*p=*p+1與*p=(*p+1)
是一樣的指標的優先順序高於加
9樓:匿名使用者
第二個應該是*(p+1),*(p+1)的意思是括號先算!
與*p+1 就是 先取出p所指向的值,再+1!
所以截然不同!
c語言中*p=*p1*(*p2);是什麼意思
10樓:匿名使用者
你首先要懂一點bai
指標的基本du知識;
1.int *p1=&a,*p2=&b;
則表示p1和p2是兩個
zhi指標,dao
分別指向變數內a和b。
int *p;表示p也是指容針,指向不明(所以這裡指向不明,是不好的,要給p賦值)。
2.*p和*p1,*p2代表指標指向的內容,即未知和a,b3.*p=*p1*(*p2);要注意第3個*是代表乘號,其餘是指標的用途
*p=*p1*(*p2)就代表*p=a*b
11樓:天雲一號
*p = *p1 * (*p2) 就是指標
來p1和p2指向的自地址單元中存放的資料相乘,並把結果存放到指標p指向的地址單元內。
舉個簡單的例子:
int *p = (int *)malloc(sizeof(int)); // 申請記憶體空間 地址為0x002d14f8
int *p1 = (int *)malloc(sizeof(int)); // 申請記憶體空間 地址為0x002d1538
int *p2 = (int *)malloc(sizeof(int)); // 申請記憶體空間 地址為0x002d1578
*p1 = 2; // 賦初值(存到地址為0x002d1538的記憶體區)
*p2 = 3; // 賦初值(存到地址為0x002d1578的記憶體區)
*p = *p1 * (*p2); // 執行結果為6(存到地址為0x002d14f8的記憶體區)
注:記憶體地址是經過除錯後知道的。
12樓:匿名使用者
*p=*p1*(*p2);
的意思是把p1指向的變數與p2指向的變數相乘,把結果存到p指向的變數中。版
由於沒有對指標權p賦值,程式可能導致系統出現異常,報錯。
除錯環境應該會收到警告資訊。
p1 指向a
p2 指向b
因此輸出的應該是1*3 = 3
13樓:死後是好人
就是將1賦值給a,將
3賦值給b,將5賦值給c
將a的儲存地址賦值給p1,將專b的儲存地
屬址賦值給p2,將c的儲存地址賦值給p3
然後輸出p儲存的地址所指向的位置裡儲存的值方法結束
14樓:匿名使用者
*p=*p1*(*p2);
就是相當於 *p=a*b=3
15樓:匿名使用者
指標p沒有初始化,它的行為未定義。
c語言中(*p)和*(*p)的含義是什麼?
16樓:匿名使用者
你的疑問恐怕是出在二維陣列裡吧
例如:int a[3][5],*p;
p=a;
上面的第一行表示定義一個指標變數p,下面一行表示p指向陣列a的首行a+1表示下一行首地址
*p等價於*(p+0)等價於p[0] 表示p[0]行首地址p[0]+1表示p[0][1]的地址 p[0]+2表示p[0][2]的地址
而*(p[0]+2)表示p[0][2]這個元素的值
17樓:栁児
*操作符,就是操作其後表示式所在地址的值,可以讀,也可以寫*還可以作為乘法運算子
*還可以用來宣告指標變數
這個要看具體情況
int a=6;
int *p=&a; //這裡的*p只是定義p為指標的意思//*p 其實就相當於a
printf("%d", *p);//輸出6*p=5; //結果是a也等於5int (*p)(int a, int b); //這裡的*p也只是定義p為指標
int *(*p) (int a,int b);//這裡只是定義了p為函式指標
int a;
int b;
int *q=&a;
int **p=&q;
*p = &b; //結果就是q=&b;
*(*p) = 5//結果就是b=5;
18樓:匿名使用者
(*p) == p所指向的那個地址的值
*(*p) == p所指向的那個地址的值所對應的地址的值假設 p 指向的那個地址 0x0001, *p = 1000那麼 *(*p) 就是 0x1000 那個地址對應的值
19樓:匿名使用者
*p是一個指標.
指標就是用來存放地址變數的東西.
一個'*'是指標,兩個*是指向指標的指標
20樓:但
解答的有錯誤!p[0]+k是指在p[0]指向的地址存的值的基礎上增加了k。比如,int a[10]={10,2},*p;
p=a;
那麼p[0]+6的值是16。
在c語言中1是什麼意思,c語言中1是什麼意思
在c語言中 1 的意思是 將1的二進位制名 向左移20位。左移一位專相當於對該數屬 乘2,左移n位就相當於乘n個2。把1,位左移20位 按二進位制來移動 在32位機中,十進位制的1就是 00000000 00000000 00000000 00000001,位左移20位就是 00000000 000...
floor在C語言中是什麼意思,C語言中 c是什麼意思
floor 是c語言中的一個數學函式,意思是向下取整,即取不大於要求值的最大的那個整數 專值。floor原意為地板之意,屬可以助記為數值猶如人處在地板上,取小於該數值的地板。函式標頭檔案 include 函式原型 double ceil double x 函式說明 floor x 返回不大於x的最大...
c語言中process什麼意思,C語言中process什麼意思
void process int a,int b,int fun 這句話的意思是宣告一個無返回值的process函式,形參為int a,int b和一個返回int的函式指標 你這來個圖裡的process只是一源個函式的名稱,bai和常用的printf,scanf在同 du一個等級,區別只是,這zhi...