亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言的指針 &符號是什么意思?

C語言的指針 &符號是什么意思?

C
守著星空守著你 2019-04-09 05:04:26
#include <stdio.h>void func(int *pvalue); int main(void){int value = 10;printf("&value = %p\n",&value); func(&value); /* 這里的&是什么意思?? */printf("value = %d\n",value);return 0;}void func(int *pvalue) {printf("pvalue = %p\n",pvalue); /* 這里也是把pvalue的地址給打印出來,為什么在pvalue前沒&符號了?? */*pvalue = 100; return;}
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

& 是取地址符號
在函數傳參過程中可以進行修改傳過去的地址所指定的值,換句話說就是函數參數里的局部變量與外部的變量是共享的

查看完整回答
反對 回復 2019-04-10
?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊


給你一個程序,你可以看一下,希望你可以明白
#include<stdio.h>

int main(){
int value = 5;
int *pvalue = &value;
int **ppvalue = &pvalue;
printf("&value = %d\n",&value);
printf("pvalue = %d\n",pvalue);
printf("ppvalue = %d\n",ppvalue);
printf("*ppvalue = %d\n",*ppvalue);
printf("**ppvalue = %d\n",**ppvalue);
return 0;
}

結果:
&value = 1337974940
pvalue = 1337974940
ppvalue = 1337974928
*ppvalue = 1337974940
**ppvalue = 5

查看完整回答
反對 回復 2019-04-10
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

C語言中$不是操作符也不能被用來定義標識符(Java中倒是可以)。C語言歷史上是為設計Unix操作系統而發明的。所以個人估計不用$是因為防止和Unix-like系統中命令提示符$混淆($在Shell中有其它用途)。
關于C語言的相關用法,關聯性比較大的是makefile中的宏定義,$(...)表示對一個宏的引用,括號中為宏名(如果宏名是單字符則括號可省略)。如果使用IDE,編譯系統可能會把環境變量指定為預設的宏供用戶使用——這樣的宏用來控制編譯源文件和生成目標文件的路徑很方便。
makefile配合make工具使用,用來在編譯過程中控制文件的依賴性。雖然本身不是C語言的必要組成部分,但是事實上的C工程編譯過程中基本都要用到它(VC里面用的是代用品Microsoft NMake)。makefile的語法很復雜,

查看完整回答
反對 回復 2019-04-10
  • 3 回答
  • 0 關注
  • 1185 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號