c 专家编程

总结:

-2>
int * a = NULL;
10 int *s[3] = {a};
11 int ss[3]={1,2,3};
12 a = ss;
13 printf("%d,\n",*a);
14 printf("%d,\n",*(a+1));
15 printf("%d,\n",*(++a)); //2
16 printf("%d,\n",*(a++)); //2 *(++a) = 3
17 a = a+1;
18 printf("%d,\n",*a);
19 const int c = 1;
20 int os[c];
21 return 1;


-1>
m[i++]= y
等于: m[i] = m[i]+y; i++

m[++i]=y
等于:
i=i+1
m[i] =m[i]+y

0>>指针与数组的区别
指针,保持数据的地址
数组,保持数据
指针,间接的访问数据,首先取得指针的内容,在把它当作地址,然后重这个地址取出数据,
如果指针有[i],则把指针的内容加 i ,在获取数据
数组直接访问数组
指针:通常用于动态的数组结构,相关的函数:malloc(),free(),通常指向匿名数据
数组:通常指向固定数据,且类型相同的数据,隐士分配和删除,自身即为数据名


1>>
static
1: 在函数内部,表示变量的值,在各个函数调用的时候,值是保持延续的
2:在函数这一级,表示函数只对本文件有效
extern
1: 用户函数定义,表示全局可见
2:用户变量表示在其他地方定义
void
1:做为函数的返回类型,表示不返回任何值
2:在指针声明中,表示通用指针的声明
3:位于参数列表中表示没有参数
*
1:乘法运算
2:用于指针,间接引用
3:在声明中表示指针
&
1:位的and操作
2: 取地址
=
1;赋值
==
2:比较
2>>>>>>>>>>>>>>>
#define STRCMP(a,b,c) (strcmp(a,c) b 0)
if(STRCMP("A",==,"A")){
16 printf("===========\n");
17
18 }


3>>>>>>>>>>>>>>>
int *intq = NULL;
8 int *q[]={intq};// 包含整形指针数组的数组
9 int ar[]={1,2,3};
10 int *qi = ar;// 对任何数组的取值都是非法的,除了对字符数组
11 printf("ar---->:%d\n",qi[0]);
12 printf("ar---->:%d\n",*qi);
13 qi++;
14 printf("ar---->:%d\n",*qi);
15
16 char ss[] = "hello\n";
17 char *cc = ss;
18 printf("cc: %s\n",cc);
19 printf("cc--: %c\n",*cc);


int * a = NULL;
10 int *s[3] = {a};
11 int ss[3]={1,2,3};
12 a = ss;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值