学习c语言指针数遍,发现过了几天如初恋,于是决定写笔记记下来。
&p
取地址int *p =10
指向变量的指针变量 取值不需要记上*
int *p=&c
指向地址的指针变量 取值一般也需要记上
*
基本类型取地址需要加上&
,非基本类型不需要,因为本身就是指针。
举例1 基本类型 取地址
int a = 10;
printf("address %p \n",& a);//大写
printf("address %#0x \n", &a);//小写
//printf("address %s ", *a);//语法错误,因为
a不是一个指针不能用*a解。
//address 0113FDB0
//address 0x113fdb0
//0104776660x value=10
通过指针访问基本类型的值
int a = 10;
printf("address %p \n",& a);//大写
printf("address %#0x \n", &a);//小写
//printf("address %s ", *a);//语法错误,因为a不是一个指针
int *b = &a;//把a变量的地址复制给b
printf("%#ox value=%d \n ",b,*b);
//指针访问值必须加上 * *左边有值代表定义指针,没有值代表取值。 这里的*b是取 a地址的值, 而 int *b =xx则是定义一个指针
指向变量的指针
int *c = 30;
printf("c value= %d\n",c);
取值如果加上*c
则会报错。
非基本类型取地址不需要输入*验证
这里的演示本身就是地址
char d[] = "abcdef";标签:语言,int,address,char,地址,printf,指针 From: https://blog.51cto.com/u_15458814/5882965
printf("d char address %p first char %c \n",d,*d);
//加了*d就是取首个字符的内容了。
system("pause");
///c value= 30
//d char address 00EFF9F4 first char a