int x[10],*pt=x;
//*pt+3是数组x的第4个元素地址,*(pt+i)表示引用指针pt所指元素后的第i个元素
#1nclude <std1o.h>
main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]=a,i,j.k=0;
for( i=0; ic3; i++) (*p)[4]=a---(*p)[4]=a指针p指向二维数组a的首地址,
for( j=0; j<2; j++ )
k=k+*(*(p+i)+j);
printf("%din", k );
/*首先i=0,j=0时,k=k+*(*(p+0)+0)=0 (即a[0][0]);
然后i=0,j=1时,k=k+k*(*(p+0)+1)=4 (即a[0][1]);*/
/*(*p)[4]=a---a和p指向[0][0],但p是数组指针,指向有4个元素的一维数组,
所以p+1为a[0][0]向后4个元素,即a[1][0].*p指向首地址,为整形指针,(*p)+1指向a[0][1].*/
printf("%d",*(p++));等价于printf("%d",*p);p++;
字符型指针变量可以用的赋值方法: char*s; s= "Olympic",// char*s,s={"Olympic" };是错误的
字符数组可以在定义的时候初始化: char s[]= ("Oltympic"}; ?或者char s[]="Ol1ympic",都是正确的。。(数组名是常量,代表数组首地址)
-
getchar( )函数输入字符给字符型变量,而不是字符指针
-
C语言中,字符串是用一对双引号括起来的字符序列,并用字符型数组来存放
-
字符串比较大小是以第1个不相同字符的大小为标准的,跟长度没有关系
-
字符串比较大小除了使用库函数strcmp()以外,就只能靠自己写代码来实现了,而不能通过关系运算符来比较大小。因为字符串在表达式中相当于const char*,即常字符指针,代表的是字符串的首地址,关系运算符会将两个字符串的首地址值比较大小,这是毫无意义的
-
空串的长度为0,而以空格打头的字符串的长度至少为1