iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 27
0
自我挑戰組

從0開始,一起學C語言吧!系列 第 27

從0開始,一起學C語言吧!(Day27)

  • 分享至 

  • xImage
  •  

Day27-指標的運算

那今天要講的是指標的運算
指標型態不像一般變數有四則運算,指標只有+,-,++,--運算子可使用
那今天要交的另一個是將指標當引數傳遞進函式
將指標當作引數傳遞進函式,因指標紀錄了變數的記憶體位址,可以利用指標進行資料修改
那我們先來做個練習吧
範例1: 傳遞指標

#include<stdio.h>
#include<stdlib.h>
void vset(int,int);
void rset(int*,int);
int main(void){
	int x=0,*p;
	p=&x;
	vset(x,1);
	printf("x=%d",x);
	rset(p,1);
	printf("x=%d\n",x);
	system("pause");
}
void vset (int x,int y){
	x=y;
}
void rset (int*p,int y){
	*p=y;
}

印出:
https://ithelp.ithome.com.tw/upload/images/20190928/20119958ADWveNXU5J.png
範例2: 變數交換

#include<stdio.h>
#include<stdlib.h>
void swap(int*,int*);
int main(void){
	int a=4,b=3;
	swap(&a,&b);
	printf("a=%d b=%d\n",a,b);
	system("pause");
	 
}
void swap(int *x,int*y){
	int tmp;
	tmp=*x;
	*x=*y;
	*y=tmp;
}

印出:
https://ithelp.ithome.com.tw/upload/images/20190928/20119958wmB7Epzpmv.png
解釋:
傳遞指標之後,我們透過間接存取(*運算子)來變更非函式內變數的值
swap()是自訂的函式
那今天先教到這裡


接下來呢!!
我要跟大家介紹一本書
書名:永久解密
作者: 愛德華·史諾登
不知道大家有沒有看過這本書
這本書的大概內容: 史諾登曾為美國國安局與中情局承包商僱員。二○一三年,時年二十九歲的史諾登,揭發了美國政府濫權監聽全球每日超過十七億筆通訊資料、窺探地球上每個人私生活的駭人真相。然而選擇說出真相的下場,便是遭到美國與英國政府通緝,流亡至今。

  透過這本自傳,史諾登介紹了自己的一生,在大華府郊區的童年,以及在中情局與國安局承包商任職的過程。本書公開了他參與協助建立監控系統的始末,也寫下了當時勇於揭發國家機密的原因與初衷。這些價值觀與行動準則,亦決定了史諾登的一生。
如果是你你會說嗎?可能會被通緝,可能你的生命安全受到威脅等等,那你還會把這不為人知的秘密說出去嗎?

介紹此書影片:https://www.youtube.com/watch?v=Ac4cCEySLUs

謝謝大家今天的文章
希望大家會喜歡我分享的書籍


上一篇
從0開始,一起學C語言吧!(Day26)
下一篇
從0開始,一起學C語言吧!(Day28)
系列文
從0開始,一起學C語言吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言