日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

指针运算(自己做个笔记)

發布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指针运算(自己做个笔记) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,指針+1 地址變化

#include <stdio.h>
int main(){int a[]={0,1,2,3,4,5,6};int *p=a;int *p1=p+1;printf("p = %p\n",p);printf("p1 = %p",p1);return 0;
} 輸出:
p = 000000000062FDF0
p1 = 000000000062FDF4

相差4個字節,也就是? 指針+1==指針內存地址+sizeof(指針類型)

2,指針+1 值變化

#include <stdio.h>
int main(){int a[]={0,1,2,3,4,5,6};int *p=a;int *p1=p+1;printf("p = %d\n",*p);printf("p1 = %d",*p1);return 0;
} 指針:
p = 0
p1 = 1

給指針加一,表示要讓指針指向下一個變量

*p --->a[0]

*(p+1) --->a[1]

3,指針可進行算術運算

  • 加減一個整數
  • ++? ?--
  • 指針相減

(1)指針相減

#include <stdio.h>
int main(){int a[]={0,1,2,3,4,5,6};int *p=a;int *p1=&a[2];printf("p = %p\n",p);printf("p1 = %p\n",p1);printf("相差 = %p",p1-p);return 0;
} 輸出:
p = 000000000062FDF0
p1 = 000000000062FDF8
相差 = 0000000000000002

?竟然不是8,而是4.說明指針相減結果不是地址差,而是 地址差/sizeof(指針類型)

4,*p++

  • ?* 優先級沒有 ++ 高
  • 取出p所指的數據,順便把P移到下一個位置
#include <stdio.h>
int main(){int a[]={0,1,2,3,4,5,6,-1};int *p=a;while(*p!=-1){printf("%d ",*p++);}return 0;
} 輸出:
0 1 2 3 4 5 6

?5,指針比較

  • 實際上是內存地址大小比較
  • < > >= <= == !=

6,0地址

  • 內存有0地址,不能隨便碰

  • NULL <----> 0地址?

7,指針特點

  • 不同類型指針,大小一樣
  • 不同類型指針,不能相互賦值
  • #include <stdio.h>
    int main(){int a[]={0,1,2,3,4,5,6,-1};int *p=a;double *k;k=p;return 0;
    } [Error] cannot convert 'int*' to 'double*' in assignment

void* 指針? ?不知道指向什么的指針?

8,PTA

(1)語句int *p; *p = 50;執行時,不會有任何錯誤。(X)

沒有先給指針P初始化,就使用指針

(2)

以下選項中,對基本類型相同的指針變量不能進行運算的運算符是 (D)

A.-

B.=

C.==

D.+

兩個地址相加無意義,且可能越界。

地址越界:100KB的內存用于你的數據存儲或者程序運行,但是這個時候你卻暫用了大于100KB的內存,這樣就越界了,多出來的部分,系統并不知道怎么去解析或者動態給你分配,所以出于對程序和系統的保護,用一種和諧的方式告訴你內存越界了或者通用內存訪問錯誤

(3)執行語句int *p = 1000;后,指針變量p指向地址為1000的變量。(X)

報錯

#include <stdio.h>
int main(){int *p=1000; return 0;
} [Error] invalid conversion from 'int' to 'int*' [-fpermissive]

總結

以上是生活随笔為你收集整理的指针运算(自己做个笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。