前言:
今天我们对“数据结构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语言课后习题答案