【郝斌数据结构自学笔记】6-7_所有的指针变量只占4个子节,如何通过函数修改实参的值
2015-11-15 17:37
459 查看
6_所有的指针变量只占4个子节
用第一个字节的地址表示整个变量的地址
CASE 1
double *p;
double x=66.6; //一个double占8个字节
p=&x;//x占8个字节,1个字节是8位,1个字节一个地址,p内只存放了一个地址,通常是字节的首地址
double arr[3]={1.1,2.2,3.3};
double *q;
q=&arr[0];
printf(“%p\n”,q); //%p实际就是以十六进制输出
q=&arr[1];
q=printf(“%p\n”,q); //p,q相差8
无论指针指向的变量占多少个字节,指针变量统一都只占4个字节
7_如何通过函数修改实参的值
发送地址
CASE 1 修改指针变量的值,只能修改地址
void f(int **);
int main(void)
{
inti=9;
int*p=&i;// *p;p=&i;
printf(“%p\n”,p);
f(&p);
printf(“%p\n”,p);
return0;
}
//void f(int *q)
//{
// q=(int*)0xffffffff; //错误,不会改变p的值
//}
void f(int ** q)
{
*q=(int*)0xffffffff;
}
用第一个字节的地址表示整个变量的地址
CASE 1
double *p;
double x=66.6; //一个double占8个字节
p=&x;//x占8个字节,1个字节是8位,1个字节一个地址,p内只存放了一个地址,通常是字节的首地址
double arr[3]={1.1,2.2,3.3};
double *q;
q=&arr[0];
printf(“%p\n”,q); //%p实际就是以十六进制输出
q=&arr[1];
q=printf(“%p\n”,q); //p,q相差8
无论指针指向的变量占多少个字节,指针变量统一都只占4个字节
7_如何通过函数修改实参的值
发送地址
CASE 1 修改指针变量的值,只能修改地址
void f(int **);
int main(void)
{
inti=9;
int*p=&i;// *p;p=&i;
printf(“%p\n”,p);
f(&p);
printf(“%p\n”,p);
return0;
}
//void f(int *q)
//{
// q=(int*)0xffffffff; //错误,不会改变p的值
//}
void f(int ** q)
{
*q=(int*)0xffffffff;
}
相关文章推荐
- 第九周--数据结构--广义表算法库及应用
- 第九周--数据结构--稀疏矩阵的三元组表示的实现及应用
- 第九周--数据结构--稀疏矩阵相加(之二)
- 第九周--数据结构--稀疏矩阵相加
- 【郝斌数据结构自学笔记】1-4_数据结构定义及特点
- 【郝斌数据结构自学笔记】5_预备知识_指针_2
- 跨平台时基于数据结构的网络通信
- 自己做的demo---c语言的基本语法,过阵子可以重新写一些算法跟数据结构了
- 数据结构之拓扑排序
- 数据结构实践项目——最短路径和拓扑序列
- 数据结构例程——拓扑排序
- 【数据结构】求节点的哈夫曼的带权路径长度
- 数据结构例程——每对顶点之间的最短路径
- C++数据结构: 链表
- SDUT OJ数据结构实验之二叉树三:统计叶子数
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- SDUT OJ 数据结构实验之二叉树五:层序遍历
- SDUT OJ 数据结构实验之二叉树七:叶子问题
- 第126讲:Hadoop集群管理之Datanode目录元数据结构详解学习笔记
- Java中常用数据结构的实现类 Collection和Map