c語言編碼問題2其中p1p11是什麼意思

時間 2021-11-04 23:14:37

1樓:yty隨意

*p != '\0' 是指當字串結束時跳出 因為字串結尾時以'\0'結尾的。p+=1 p1+=1 都是指標往後移。操作方法如下:

1、首先開啟dev c++軟體,新建一個c語言的控制檯專案,如下圖所示。

2、然後在c語言中*是指標與檔案的表示符號。

3、接著在c語言中c[ ]是指陣列的表達方式。

4、指標陣列的定義表示式:int *c_zhi[100],表示100個指標陣列元素的存在。

5、最後*c[2]是指標陣列,那麼從本質的意義上說,它是一個陣列的變形,其實質就是陣列。

2樓:匿名使用者

p1指向的是str[0]的地址,p1+=1意思就是指向p1後面的一個地址,在這裡的意思是p1指向str[1]的地址

p2指向的是str2的指標,*p2!='\0' 意思就是說p2遍歷str2直到字串的結尾

3樓:匿名使用者

p+=1,p1+=1 移動指標到下一個陣列元素。 這裡是從p1指向的str1向p指向的str拷貝字元。

拷貝一個字元後,指標+1指向下一個元素,繼續拷貝。

至於*p2!='\0',

因為字串以'\0'為終止符,所以遇到0時, 已經過了p2最後一個字元,對p2的拷貝結束,跳出對p2的拷貝迴圈。

4樓:秋冬春夏丶

p+=1等價於p=p+1,p1+=1等價於p1=p1+1。 *p2!='\0'意思就是p2指向的內容不為空。

c語言中*p=*p1*(*p2);是什麼意思

5樓:匿名使用者

你首先要懂一點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

6樓:天雲一號

*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的記憶體區)

注:記憶體地址是經過除錯後知道的。

7樓:匿名使用者

*p=*p1*(*p2);

的意思是把p1指向的變數與p2指向的變數相乘,把結果存到p指向的變數中。版

由於沒有對指標權p賦值,程式可能導致系統出現異常,報錯。

除錯環境應該會收到警告資訊。

p1 指向a

p2 指向b

因此輸出的應該是1*3 = 3

8樓:死後是好人

就是將1賦值給a,將

3賦值給b,將5賦值給c

將a的儲存地址賦值給p1,將專b的儲存地

屬址賦值給p2,將c的儲存地址賦值給p3

然後輸出p儲存的地址所指向的位置裡儲存的值方法結束

9樓:匿名使用者

*p=*p1*(*p2);

就是相當於 *p=a*b=3

10樓:匿名使用者

指標p沒有初始化,它的行為未定義。