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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

C语言中指针与取地址符&详解

發布時間:2023/12/29 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 C语言中指针与取地址符&详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于指針與取地址符

1.什么是指針?
(1)首先,我們要明白什么叫做指針變量名,對于 int *p,這里的指針變量名不是 p 而是 p ,類似與 Java 中定義數組是 int [] array ,所以我習慣將 p 叫做 int * 類型
(2)通俗的來說:指針就是地址,通過這段地址就可以找到以它為地址的那個內存單元
【保存地址使用的就是指針變量,所以是用變量名p=&a,而不是
p = &a(定義時除外)】
(3)指針變量必須要初始化,否則不知道指向哪個地址(就是我們常說的野指針)
(4)指針就是用來存放地址的,并且可以通過這個地址來操作對應的內容。只要知道了一個變量的內存地址,那么我們就可以通過指針來操作塊內存空間

了解了這些之后,看一段代碼:

#include <stdio.h>

int main()
{
    int n= 7;
    int *p;
    p = &n;		//指針初始化,也可以寫作 int *p = &n;
    printf("%d 的地址是 %p
",n,p);
    return 0;
}


n是int類型的,而p是int *類型的,所以他們的最后得到的結果的類型完全就不一樣了
int *p定 = &n,&是取地址符,得到的就是內存地址【指針保存地址,&用來取地址】
為了更好的理解,根據類型匹配:*p = n ;p = &n (= 表示等價于)

2.如何使用指針
使用指針和取地址符,解決了值傳遞只能通過“按值傳遞”這個問題,可以用指針和取地址符來操作:
繼續看一段代碼:

#include<stdio.h>

int main(void)
{
	int n = 7;
	int *p = &n;
	printf("數值%d所在的地址是 %p
", num, p);
	printf("指針p所指向的地址為 %p , 該地址上所保存的值為%d
", p, *p);
	*p = 100;
	printf("指針p所指向的地址為 %p , 該地址上所保存的值為%d
", p, num);
	return 0;
}


通過上面的程序和運行結果來看,指針所指的地址是不會改變的,但是可以通過操作符(解引用操作符),來返回指針p所指的對象,我們通過對p的賦值,改變了p指向的地址上的值,從而n的值發生改變

總結

以上是生活随笔為你收集整理的C语言中指针与取地址符&amp;详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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