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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 什么时候用取地址什么时候不用取地址,符号讲解

發布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 什么时候用取地址什么时候不用取地址,符号讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

情況一:

&是一個取地址運算符
&a是一個表達式,其功能是求變量a的地址
scanf函數的一般形式為:scanf("格式控制字符串",地址列表);
scanf輸入的是地址,printf輸出的是值,如下舉例說明

#include<stdio.h> void main() {int a,b,c;printf("input the value of a,b,c\n");scanf("%d %d %d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c); }

運行結果如下
由上,我們一定要分清變量的地址和變量的值之間的關系,例如:
a = 567
a為變量名,567為變量值,&a為變量的地址

情況二:

當變量是指針類型時,不需要取地址符號,指針指向的是某一個存儲單元的首地址。
當變量是數組,不需要取地址符號,數組名本身指向的就是這個數組的首地址。
其它類型變量需要用&取地址符號。

實戰1:
在這里有的同學就會問,啊,小編,你不是說當變量是數組,不需要取地址符號嘛,那我下面這個例子怎么輸入了數沒有反應,輸出語句什么都輸出不出來

#include<stdio.h>void main() {double a[2],s = 0;for(int i = 0;i<2;i++) {scanf("%lf",a[i]);s += a[i];}printf("s:%f\n",s); }

小編修改上面的代碼為

#include<stdio.h>void main() {double a[2],s = 0;for(int i = 0;i<2;i++) {scanf("%lf",&a[i]);s += a[i];}printf("s:%f\n",s); }

注意:要在a[i]前面加取地址符號,因為在情況一中我們已經說過,scanf輸入的是地址,a[i]代表的是i號下標的值,而不是地址,所以我們要為數組的每一個下標分別賦值,也就是&a[i]
&a[0]就是0號下標的地址,&a[1]就是1號下標的地址

實戰2

# include <stdio.h> int main(void) {char str[10]; //str是string的縮寫, 即字符串printf("請輸入字符串:");scanf("%s", str); /*輸入參數是已經定義好的“字符數組名”, 不用加&, 因為在C語言中數組名就代表該數組的起始地址*/printf("輸出結果:%s\n", str);return 0; }

以上就是小編在學習c語言過程中遇到的問題和總結,喜歡的關注!

總結

以上是生活随笔為你收集整理的C语言 什么时候用取地址什么时候不用取地址,符号讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

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