龙空技术网

C语言数据结构6

太虚静心 213

前言:

今天我们对“数据结构c语言课后习题答案”大致比较关怀,你们都想要剖析一些“数据结构c语言课后习题答案”的相关文章。那么小编也在网上汇集了一些对于“数据结构c语言课后习题答案””的相关文章,希望你们能喜欢,兄弟们一起来了解一下吧!

二级指针:**p *p=&i i=10;

void *p (可强制转换任意类型);

存储类型: const int a; //说明声明的变量a是只读变量(改变过后,a相当于常量),不可更改;

auto……extern

const int *p=&a;(int const *p=&a;)相同

说明不可以通过直接修改a的值;

可以修改指针变量中的p地址或直接修改a值,说明*p是一个常量;

int * const p:指针变量的指向不可更改,*p可改;

const int *const p=&a; //p不可更改(指针变量地址),*p不可改

内存:一串连续存储的空间(房子);

地址:唯一标识的空间(门牌号); int *(指地址);

指针与数组:

数组:空间是连续的,下表从0开始的,第n个元素下标是(n-1)(避免越界);

数组名:a 是这块空间的首地址(用%p打印),和&a[0]是相同的;

字符数组:%s (scanf、printf)遇见空格就结束;

gets()、puts()字符串输入输出,gets容易越界;

int a[10]={0,1,2,3,4,5,6,7,8,9};

int *p=&a[0]; //*p=a

通过地址p的偏移而输出a[]的值;

printf("%d",*(p+i));

a[i]<=>*(p+i)<=>*(a+i)<=>p[i]

数组指针:(行指针) 代表指向数组的指针

格式:<存储类型> <数据类型> (*<指针变量名>)[数组元素个数]

例如:int (*p)[4]; 一次指向4个,相当于int *p [][4];

指针数组:存放指针的数组;

格式:<存储类型><数据类型> *<指针变量>[数组元素个数]

例如:int *p[4] //元素全是地址,可以分别使用;

int (*p)[4];p=a; //相当于*p=a[0];

int a[3][4]

printf("%d\n",(*(p+i)[j])); //*(p+i)相当于行,[j]相当于列;

打印先从行打印

a[3][4]=

{

1,2,3,4

5,6,7,8

9,10,11,12

}

*(*(p+1)[0])相当于a的地址;

int *q[3]; //因本质是数组,赋值应单个赋值

q[0]=a[0]; //int *q[3]={a[0],a[1],a[2]};初始化而不是赋值;

q[1]=a[1];

q[2]=a[2];

printf("%d\n",*(q[0]+1););

标签: #数据结构c语言课后习题答案