#include <stdio.h>
struct student {
char name[200];
int age;
};
//传递的是指针,内存里只取出四个字节的空间存放变量pst
//pst存放的是地址,通过引用可改变实参的值
//这是效率高的做法
void f(struct student *pst) {
pst->age = 000;
//printf("name: %s \n age: " , pst->name, pst->age);
}
//如此传递参数,传递的是整个结构体,在内存会取出一个与实参同样大小的新空间存放pst
//因此函数无法改变实参的值
//这是效率比较低的
void f2(struct student pst) {
pst.age = 000;
}
int main(void) {
struct student st = {"stu1", 20};
struct student * p;
p = &st;
printf("%d \n", p->age);
f2(st);
printf("%d \n", p->age);
f(p);
printf("%d", p->age);
}
分享到:
相关推荐
程序编程中指针出错率往往极大,本文教你正确认识指针以及高效使用指针,实现安全高效编程。 特别提醒:由于之前以为指针经验总结这篇文章没有上传成功,故又重新传了一次。本文内容和我之前发布的指针经验总结完全...
### 彻底理解指针,指针数组和数组指针,指针函数和函数指针 #### 一、基础知识 在计算机编程中,指针是一个非常重要的概念,尤其是在C/...理解这些规则可以帮助我们更加高效地使用指针,并提高程序的性能和灵活性。
在这些源代码程序中,你可以期待看到如何结合使用这些概念来解决实际问题,例如读取文件中的数据并用结构体表示,使用链表实现动态数据存储,或者通过指针高效地操作数组。通过研究这些例子,你将加深对C++语言特性...
总结一下,向函数传递字符串的关键在于理解字符数组和指针之间的关系,以及如何通过指针高效地处理字符串。在实现字符串处理函数时,应考虑使用`const`修饰符来保护字符串不被意外修改,并尝试优化循环结构以提高...
"C++智能指针功能强大,高效" C++中的智能指针是一种功能强大的技术,它可以自动管理内存,避免内存泄露的问题。与Java、.NET等语言不同,C++没有垃圾回收机制,因此需要手动管理内存。在C++中,智能指针可以通过...
通过指针,我们可以直接操作内存中的数据,这使得代码更加灵活且高效。 ### 1. 指针类型 指针类型是指指针变量所指向的数据类型。例如,如果你有一个整型变量`int a`,那么对应的指针类型就是`int *`。声明指针时,...
虽然它们可能初看起来复杂,但一旦熟练掌握,就可以利用它们的灵活性和效率编写出高效、复杂的程序。在学习C指针时,重点应放在理解指针的本质、如何安全地使用指针以及指针在实际编程场景中的应用上。
在C语言中,指针是一种非常重要的数据类型,它能够存储内存地址,是进行高效内存管理的关键工具。本文将从多个角度深入探讨指针的概念及其应用,帮助读者建立起对指针的全面认识。 #### 二、什么是指针? 在C语言...
在C/C++编程语言中,函数指针和指针函数是两个不同...了解和熟练掌握函数指针和指针函数的区别,能帮助我们编写更加高效和模块化的代码。在阅读和编写涉及这些概念的代码时,一定要注意它们的不同,以避免混淆和错误。
在C语言中,指针是其核心特性之一,它提供了对内存地址的直接操作,使得程序可以更加灵活高效。本文将深入探讨“指针、指针与变量、指针与数组、指针与函数以及字符串与指针”的相关知识点。 首先,让我们了解什么...
在C/C++编程语言中,指针是至关重要的一个概念,它允许我们直接操作内存地址,从而实现高效的数据处理和灵活的程序设计。本篇文章将深入探讨指针的用法,包括指针与数组的关系以及指针的详细解析。 首先,我们需要...
Vista引入了许多新特性和改进,旨在提供更安全、更美观以及更高效的用户体验。其中,鼠标指针是用户界面的重要组成部分,它们直接影响到用户的交互体验。 在Windows Vista中,微软对鼠标指针进行了视觉更新,使其...
了解和熟练掌握指针函数和函数指针变量是C语言高级编程的关键,它们能帮助我们编写更加灵活和高效的代码。在阅读提供的《函数指针.pdf》和《C语言教程之 指针.PDF》文档时,你可以深入学习这两个概念的细节,包括...
在C语言中,指针是一种强大的工具,可以用来操作内存和高效地处理数据结构。本文将深入探讨指针数组和指向指针的指针的概念,以及它们在实际编程中的应用。 首先,我们要明白指针数组的基本概念。一个指针数组是由...
理解指针的这些特性对于编写高效且内存安全的代码至关重要。在使用指针时,需要清楚地知道指针的类型、它指向的类型、其值以及它占据的内存大小。这些都是编程时需要时刻关注的核心问题。熟练掌握指针,能够让你更好...
在C++编程语言中,指针是至关重要的概念,它允许我们存储内存地址并直接操纵内存。本篇文章将深入探讨两种特殊...通过实践,你可以更好地掌握如何在C++中有效地利用数组指针和函数指针,从而编写出更灵活和高效的程序。
通过理解指针的类型、所指向的类型、指针的值(内存地址)和指针自身占用的内存,我们可以更好地控制程序的运行,实现高效的数据处理。然而,使用指针时务必小心,避免出现未初始化的指针、空指针引用、越界访问等...
在计算机编程领域,尤其是C和C++语言中,指针是一个核心概念,它提供了对内存地址的直接访问能力,是实现高效数据处理和复杂算法的关键。本文将从多个角度深入探讨指针的概念、类型、操作及其在实际编程中的应用。 ...
5. **指针和数组**:两者在C语言中紧密关联,通过指针可以对数组进行高效操作,比如遍历、排序等。 6. **函数指针**:函数指针可以作为参数传递,也可以作为返回值,这在实现回调函数、函数工厂等高级编程技巧时...