一级字符串容易出错笔记及const修饰符学习

1一级字符串容易出错笔记

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#include <ctype.h>


int main()
{
 char buff[1024] = {0};
 //不是buff[0] = 0;而是定义为buff[0] - buff[1024] ='\0';
 printf("%c\n",buff[0]);
 
 char *p = {0};
 //不是*p = ‘0’;
 //而是等于p = NULL;
  printf("%d",p);
 p =NULL;
}

2.字符转越界

char buff[3] = “abc”;
错误,因为这是个字符串,编译器会自动补’\0’;应该为4.

3.
*p++,后缀优先级更高,但是后缀++先返回值,即指针p先于*p结合之后,指针p再++,因此先输出指针p在自增前对应的值,指针p自增 和*(p++)相同。

4.
(*p)++括号优先级高,因此先运行*p的值,然后值再++;

5.
*++p和*(++p)一样,最左边是*,但后面跟的是表达式++p,所以要先算++p。

6.
++*p即++(*p),最左是++但后面跟的是表达式*p所以要先算*p

2.const修饰符学习

const int a;
int const b;
//这俩一样,代表整形变量a,b不能被修改;

const int *c;
//c是指向常整型数的指针(所指向内存的内存数据不能被修改,但本身可以修改)
int *const d;
//d常指针(指针变量不能被修改,但是它所指向的内存空间可以被修改)

const int *const e;
//一个指向常整形的常指针(指针和它所指向的内存空间都都不能被修改)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值