c语言之指针与数组

最顽强的堡垒都是从内部攻破的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<Windows.h>
//元素的地址都相同。
void OneD()
{
int num[5] = { 1, 2, 3, 4, 5 };
printf("%x", num);//第一个元素的首地址,4个字节
printf("n%x", &num);//一个数组的首地址,4*5=20个字节
printf("n%d", sizeof(*num));
printf("n%d", sizeof(*&num));
}
void TwoD()
{
int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
printf("%x", a);//一个行指针,4*4=16个字节
printf("n%x",&a);//一个二维数组的指针,12*4=48个字节
printf("n%x", *a);//一个列指针,4个字节
printf("n%d", sizeof(*a));
printf("n%d", sizeof(*&a));
printf("n%d", sizeof(**a));
}
void main()
{
OneD();
printf("nnn");
TwoD();
getchar();

}