例一:字符与整型变量的实现
#include <stdio.h> int main()
{
int c1,c2;
char c3;
c1='a'-'A';
c2='b'-'B';
c3='c'-;
printf("c1 is %d and c2 is %d\n",c1,c2);
printf("c3 is %d and %c\n",c3,c3);
//字符在内存中是以ASCII码存在的, a就是65等等
//字符型变量可以与整型变量进行运算 }
结果是:
32 32
67 C
字符串常量是 “”里面的
字符常量是 ‘’里面的
例二:
#include "stdio.h" int main()
{
char a,b;
a=;
b=;
printf("%c%c\n",a,b);
printf("%d%d",a,b);
}
ab
9798
-------------------------------
为什么字符串常量末尾要加一个‘\o’,因为字符串是以ASCII存储的,要有一个结束的标志位。不让很难判断字符串在内存中占据多少空间。
例三:指针数组与二级指针【linux c 编程第84页】
#include "stdio.h"
int main()
{
int a[]={,,,, };
int *p[],i;
int **pp=p;// 相当于 int a=12;int *b=&a;int **c=&b; 最后一个的这里 for(i=;i<;i++)
p[i]=&a[i]; for(i=;i<;i++)
printf("%d\n",*p[i]); for(i=;i<;i++,pp++)
printf("%d",**pp);
}
例四:指针和数组的关系。经典例子
#include "stdio.h"
int main()
{
//经典例子 linux c程序 第85页
int a[][]={,,,,,,,,,};
int (*p)[],i; // int (*p)[5] 表示p是一个指针,指向含有5个元素的一维指针,并且p是一维数组 的首地址
p=a;
for(i=;i<;i++)
printf("%d ",(*p)[i]);
printf("\n"); p++; //p加1,指向二维数组a的第二行
for(i=;i<;i++)
printf("%d ",(*p)[i]);
printf("\n");
return ; }