写在之前:
此次分享建立在做完一部分练习题之后得出的经验。
全是个人的指针边缘区
经验分享:
一.
#include <stdio.h>
int main()
{
char *p="%d,a=%d,b=%d\n";
int a=111,b=10,c;
c=a%b;
p+=3;//p=p+3;字符数组从a开始输出
printf(p,c,a,b);//另一种写法的翻译:printf("a=%d,b=%d\n",c,a,b);对应输出应该是c与a的值
//其结果为a=1,b=111
}
比较有意思的printf 写法。
二.
#include<stdio.h>
int main()
{
char *language[ ]={
"FORTRAN", "BASIC", "PASCAL", "JAVA", "C"};
printf("%c",*language[2]);
}
此段代码运行出的结果可更加清晰的认识指针的部分功能。
三.
#include<stdio.h>
int main()
{
int *p,*s,i,j;
char *q,ch;
*p=100;//指针变量p没有地址,就没有储存单元进行数据存储,此类赋值虽不报错但是不合理
printf("%d\n",*p);
}
此部分代码应该属于指针的细节部分,因为表达式 *p=100; 此类编译器不报错。