总结:
-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;
-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;