91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言編程中的指針

發布時間:2020-07-18 20:34:08 來源:網絡 閱讀:287 作者:dawn0919 欄目:編程語言

單片機編程中,涉及指針的地方很多,需要多看多練習多總結。
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
unsigned int *pInt32;//指向32位無符號整數的指針
unsigned int UINT32_1;//32位的無符號整數
unsigned int Array1_UINT32[]={1,9,0,1};//存儲4個32位無符號整數的數組
unsigned short UINT16_1;//16位的無符號整數
unsigned char UINT8_1;//無符號的字符,8位的無符號整數
unsigned char UINT8_2[]={"VC++6.0"};//無符號的字符數組

UINT16_1=401;
UINT32_1=19;
pInt32=&UINT32_1;
printf("------\n");
printf( "*pInt32的指針地址:%x,存放的內容:%x,指向的內容:%d \n",&pInt32,pInt32,*pInt32);
printf("------\n");
printf( "變量UINT32_1的地址:%x,內容:%%d\n",&UINT32_1,UINT32_1);
pInt32=Array1_UINT32;
printf( "*pInt32的指針地址:%x,存放的內容:%x,指向的內容:%d \n",&pInt32,pInt32,*pInt32);
printf( "Array1_UINT32數組的地址:%x,內容:%d\n",&Array1_UINT32,Array1_UINT32[0]);
printf("--強制轉換--\n");
//pInt32=&UINT16_1;//不報錯
pInt32=(unsigned int)(&UINT16_1);
printf( "UINT16_1的地址:%x,內容:%d\n",&UINT16_1,UINT16_1);
printf( "*pInt32的指針地址:%x,存放的內容:%x,指向的內容:%d \n",&pInt32,pInt32,*pInt32);

return EXIT_SUCCESS;

}

輸出:


*pInt32的指針地址:12ff44,存放的內容:12ff40,指向的內容:19

變量UINT32_1的地址:12ff40,內容:%d
pInt32的指針地址:12ff44,存放的內容:12ff30,指向的內容:1
Array1_UINT32數組的地址:12ff30,內容:1
--強制轉換--
UINT16_1的地址:12ff2c,內容:401
pInt32的指針地址:12ff44,存放的內容:12ff2c,指向的內容:-859045487


#include <stdio.h>

int main(void)
{
char pVar="123";
char
p1="YBDWYQCY";
char* p3="YBDWYQCY";
char p5[]="YBDWYQCY";

printf("指針p1地址:%x,指針p3地址:%x,數組p5地址:%x\n",&p1,&p3,&p5);
printf("指針p1內容:%x,指針p3內容:%x,數組p5內容:%x\n",p1,p3,p5);
printf("*p1指向:%x,*p3指向:%x\n",*p1,*p3);
printf("*(p1+1)指向:%x,*(p3+1)指向:%x\n",*(p1+1),*(p3+1));

printf("----------------\n");

printf("p5[0]地址:%x,p5[0]內容:%c\n",&p5[0],p5[0]);
printf("----------------\n");

printf("pVar改變前:%s\n",pVar);
pVar=p1;
printf("pVar改變后:%s\n",pVar);

return 0;

}

輸出:

指針p1地址:12ff40,指針p3地址:12ff3c,數組p5地址:12ff30
指針p1內容:422140,指針p3內容:422140,數組p5內容:12ff30
p1指向:59,p3指向:59
(p1+1)指向:42,(p3+1)指向:42

p5[0]地址:12ff30,p5[0]內容:Y

pVar改變前:123
pVar改變后:YBDWYQCY


總結:

1、unsigned int *pInt32;//指向32位無符號整數的指針,

  pInt32=&UINT32_1;

  前面是定義一個指針,pInt32里面放的是地址,地址指向的是具體的內容(值),而pInt32本身也有地址,它們都是可以改變的。

  是取值符號,pInt32表示取得它地址所指的值,&是得到地址的符號。

2、指針可以強制轉換,但類型最好一致,否則有可能出現不可預料的結果。

3、對于定義指針前面的修飾符號,按照從右向左來理解:

  const int p; //指針可改變,但是所指的內容不可以變=》p是指向整數常量的指針
  int
const p;//指針不可改變,但是所指的內容部可改變=》p是常量指針,指向整數
4、char p和char p是一樣的指針定義,指針定義要連同賦值一起,char *p是標準寫法。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

连州市| 汪清县| 雅安市| 永善县| 宜城市| 海阳市| 东港市| 育儿| 大理市| 桂平市| 盖州市| 皋兰县| 洛扎县| 南靖县| 宜宾市| 原平市| 贵定县| 鲜城| 冀州市| 广东省| 台山市| 揭西县| 宜州市| 凤冈县| 安岳县| 志丹县| 民乐县| 工布江达县| 松滋市| 大连市| 镇坪县| 渭南市| 秭归县| 宿松县| 格尔木市| 温泉县| 武夷山市| 溧阳市| 交口县| 高台县| 荥阳市|