C和指针《一》

1.注释:

 1/* **** */ 不能嵌套,并且有时候在一段程序中就有注释,编译会出问题。

 (2#if 0    statements   #endif 可以弥补第一种注释的不足。

2.声明的作用:只需要编写一次,易于维护和修改,消除了在多份拷贝中出现写法不一致的机会。

3.#define 指令给字面值常量取名的好处:增加了代码可读性而且便于代码修改

4.(指针)双重间接访问:比如:**p

 C和指针《一》_第1张图片

spacer.gif

spacer.gif

spacer.gif

p指针指向q地址,即p=&q;q指向a地址,即q=&a;*q=a=11;

*p=q=&a; **p=*q=a=11;

5.关于 *(p+1)

意思:本质意思是在p的地址移向向下一个地址,然后取值 

 

 C和指针《一》_第2张图片

 

6.出现段错误:访问的内存超出了系统所给这个程序的内存空间。

7.交换数值:采用指针,调用的方法:

C和指针《一》_第3张图片 

8.内存分布

 

9.数组名代表数组的首地址   

如:#include<stdio.h>

{

int a[5]={1,2,32,56,45};

int *pa=a;

printf(%d\n,*(p+1));

}

10.指针变量总是期望存放一个地址。

 


你可能感兴趣的:(c,指针)