iT邦幫忙

2021 iThome 鐵人賽

DAY 29
0
Software Development

0基礎也看得懂的程式設計-30天學會C語言系列 第 29

30天學會C語言: Day 28-指標&陣列

變數的大小

sizeof(<型別>) 可以查看某型別占用多少記憶體空間,單位是位元組

#include <stdio.h>
#include <stdlib.h>

int main() {
	printf("%d %d", sizeof(char), sizeof(float));
}	

指標與陣列

陣列其實是一個指標,指向陣列中第一個元

#include <stdio.h>
#include <stdlib.h>

int main() {
	int a[10];
	printf("%p\n%p", a, &a[0]);
}

在陣列(指標)後加上中括號和索引,代表的是這個指標加上 sizeof(<型別>) 乘上索引+1的那個指標指向的值

一個 int 占4個位元組,所以 a[1] 的指標會比 a[0] 的多4(sizeof(int)*1)

#include <stdio.h>
#include <stdlib.h>

int main() {
	int a[10];
	printf("%p\n%p", &a[0], &a[1]);
}

所以可以透過指標加上數字取得指標後的資料

#include <stdio.h>
#include <stdlib.h>

int main() {
	int a[10]={1, 2}, *p=&a[0];	
	printf("%d\n%d", p[0], p[1]);
}


上一篇
30天學會C語言: Day 27-指標當參數
下一篇
30天學會C語言: Day 29-串起來!!!
系列文
0基礎也看得懂的程式設計-30天學會C語言30

尚未有邦友留言

立即登入留言