/*
关于数组指针,字符串指针的一些小细节
*/
#include <stdio.h>
main() {
int a = 10;
int *p = &a;
char *ps = "I Love Programming!!";
int b[2][3] = {{1, 2, 3}, {4, 5, 6}};
int (*pb)[3];
// int *pbb = b;// 会出现warning,因为这种形式是对于一维数组而言的
printf("%d\n", p);// 输出的为a的地址
printf("%d\n", *p);// 为a的值
printf("%s\n", ps);// 为字符串
// printf("%s\n", *ps); 出错
// 对于字符串指针,输出字符串时不需要加*号
// 这与其他指针输出值的表示方法有所不同
// 二维数组指针的表示
pb = b;
printf("\n\n%d\n", &b[1][1]);
printf("%d\n", b[1][1]);
printf("%d\n", *(pb+1)+1);// 表示地址
printf("%d\n", *(*(pb+1)+1));// 表示值
printf("%d\n", pb[1][1]);// 表示值
}