C语言学习笔记--------伊能C语言学习笔记----使用指针来解决函数的副本机制
来源:互联网 发布:页面初始化加载js取值 编辑:程序博客网 时间:2024/05/18 17:40
使用指针做形参来解决函数的副本机制:
/*
在函数里面改变一个外部变量,就需要变量的地址
如果是数据,需要指向数据的指针存储数据的地址
如果是指针,就需要指向指针的指针存储指针的地址
//二级指针一般用于改变一个字符串指针的指向,指向不同的字符串
*/
#include<stdio.h>
#include<stdlib.h>
char str1[20] = "notepad";
char str2[20] = "tasklist";
/*
把这两个字符数组作为全局变量
*/
// 函数有副本机制,形式参数会开辟内存,新建一个变量,容纳传递过来的实际参数的值
void change(char** _p2)
{
/*
现在我需要写一个函数能够更改 p变量的值,该怎么做呢???
我们要更改一个变量,需要该变量的地址,如果变量是指针就需要二级指针
更改一个变量的值: 只有通过地址的形式访问该变量然后对其进行修改重写
因此,我们可以把传递过来该变量的地址即:该变量的指针
*/
*_p2 = str1; //改变指针的指向
}
void main()
{
char *p = str1; //指针指向字符串
/*
当创建一个指针指向一个字符串时,*p 就是字符串的内容
*/
printf("\n%p\n", &p); //打印指针地址
char ** p2 = &p;
change(p2);
system(p);
getchar();
}
/*
在函数里面改变一个外部变量,就需要变量的地址
如果是数据,需要指向数据的指针存储数据的地址
如果是指针,就需要指向指针的指针存储指针的地址
//二级指针一般用于改变一个字符串指针的指向,指向不同的字符串
*/
#include<stdio.h>
#include<stdlib.h>
char str1[20] = "notepad";
char str2[20] = "tasklist";
/*
把这两个字符数组作为全局变量
*/
// 函数有副本机制,形式参数会开辟内存,新建一个变量,容纳传递过来的实际参数的值
void change(char** _p2)
{
/*
现在我需要写一个函数能够更改 p变量的值,该怎么做呢???
我们要更改一个变量,需要该变量的地址,如果变量是指针就需要二级指针
更改一个变量的值: 只有通过地址的形式访问该变量然后对其进行修改重写
因此,我们可以把传递过来该变量的地址即:该变量的指针
*/
*_p2 = str1; //改变指针的指向
}
void main()
{
char *p = str1; //指针指向字符串
/*
当创建一个指针指向一个字符串时,*p 就是字符串的内容
*/
printf("\n%p\n", &p); //打印指针地址
char ** p2 = &p;
change(p2);
system(p);
getchar();
}
0 0
- C语言学习笔记--------伊能C语言学习笔记----使用指针来解决函数的副本机制
- C语言学习笔记----伊能C语言学习笔记-----函数的副本机制
- C语言学习笔记----伊能C语言学习笔记----指针与地址的区别是什么?
- C语言学习笔记-----伊能C语言学习笔记---指针类型和指针所指向的类型不同时
- C语言学习笔记-------伊能C语言学习笔记------静态函数初步
- C语言学习笔记------伊能C语言学习笔记-----外部函数
- C语言学习笔记--------伊能C语言学习笔记------C语言结构体字节对齐机制
- C语言学习笔记-----伊能---函数可变参数
- C语言学习笔记----伊能C语言学习笔记---*号的作用
- c语言指针学习笔记
- C语言指针学习笔记
- C语言指针学习笔记
- C语言指针学习笔记
- c语言学习笔记--指针
- C语言学习笔记-指针
- C语言指针学习笔记
- C语言学习:指针(笔记)
- C语言学习笔记-指针
- CBIR: Indexing and Retrieval--基于内容的图像检索:索引和检索
- C语言学习笔记----伊能C语言学习笔记-----函数的副本机制
- ORA-01033 : ORACLE initialization or shutdown in progress
- 【转载】愚者与智者的48个差距
- Content-Based Information Retrieval 基于内容的信息检索
- C语言学习笔记--------伊能C语言学习笔记----使用指针来解决函数的副本机制
- 拷贝构造函数什么时候调用?
- poj 2395 Out of Hay(最小生成树)
- linux内核中的GPIO系统之(2):pin control subsystem
- 面向对象的六大设计原则(三):依赖倒置原则
- C#的注释方法与数据类型
- QBE and Content Representation 基于图例检索和内容表示
- JQuery中$.ajax()方法参数详解
- Mysql,Oracle,Java数据类型对应