c语言--指针与数组与字符串---部分知识点总结

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",都是正确的。。(数组名是常量,代表数组首地址)
  1. getchar( )函数输入字符给字符型变量,而不是字符指针

  2. C语言中,字符串是用一对双引号括起来的字符序列,并用字符型数组来存放

  3. 字符串比较大小是以第1个不相同字符的大小为标准的,跟长度没有关系

  4. 字符串比较大小除了使用库函数strcmp()以外,就只能靠自己写代码来实现了,而不能通过关系运算符来比较大小。因为字符串在表达式中相当于const char*,即字符指针,代表的是字符串的首地址,关系运算符会将两个字符串的首地址值比较大小,这是毫无意义的

  5. 空串的长度为0,而以空格打头的字符串的长度至少为1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_61156831

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值