先看下下面代码:
#include "stdio.h"
#include "conio.h"
void go_south_east(int lat, int lon){
lat = lat -1;
lon = lon + 1;
}
int main()
{
int latitude = 32;
int longitude = -64;
go_south_east(latitude, longitude);
printf("Avast! Now at: [%i, %i]\n", latitude, longitude);
getch();
return 0;
}
结果并不是31, -63,而是32, -64
并没有改变,这个时候必须要知道C语言中的指针的概念,而且这个概念是必须应该掌握的
int main()
{
int x = 8;
int z=18;
printf("x is %i and the address is %p\n", x, &x);
x= z;
printf("x is %i and the address is %p\n", x, &x);
return 0;
}
结果为:
%p是输出地址格式,&x是指x的内存地址
回到第一个程序中,当main方法中调用go_south_east()方法的时候,两个参数都是传递值,那么实际上lat,lon被赋值了,并且进行了加减操作,而main方法中的latitude,longitude 两个参数地址不会变,值也没有变。
1,获取变量的存储地址,即变量的指针 用&x
2,指针变量是用来存储指针的变量 比如 int * address_x = &x;
3,获取指针变量所指向的值 int y = *address_x;
改变其值就用*address_x=9,即 x=9
所以第一个程序应该写成
#include "stdio.h"
#include "conio.h"
void go_south_east(int * lat, int * lon){
*lat = *lat -1;
*lon = *lon + 1;
}
int main()
{
int latitude = 32;
int longitude = -64;
go_south_east(&latitude, &longitude);
printf("Avast! Now at: [%i, %i]\n", latitude, longitude);
getch();
return 0;
}
关键点:
Variables are allocated storage in memory.
Local variables live in the stack.
Global variables live in the globals section.
Pointers are just variables that store memory addresses.
The & operator finds the address of a variable.
The * operator can read the contents of a memory address.
The * operator can also set the contents of a memory address.
- 大小: 23.7 KB
分享到:
相关推荐
"深入理解C语言指针" 在C语言中,指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存...
C语言指针练习填空和阅读程序题 本资源主要涵盖了C语言指针的相关知识点,包括指针的基本概念、指针运算、指针与数组的关系、指针与字符串的关系等。通过本资源的学习,可以帮助读者更好地理解和掌握C语言指针的...
### C语言指针知识点解析 #### 一、理解指针的基本概念 在C语言中,指针是一个非常重要的概念,它允许程序员直接控制和管理内存。指针是一种变量,其值为另一个变量的地址(即内存位置)。通过使用指针,可以更...
"精选C语言指针资料大全"集合了多种资源,旨在帮助初学者和深入研究者更好地理解和掌握这一核心概念。以下是对这些资源中可能包含的知识点的详细解释。 1. **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语言指针...
C语言指针函数和函数指针详细介绍 C语言中指针函数和函数指针是两个不同的概念,但它们之间存在着紧密的联系。本文将对C语言中的指针函数和函数指针进行详细的介绍。 一、指针函数 指针函数是指返回值为指针的...
本教程旨在深入解析C语言指针的概念、用法及其重要性。 首先,理解指针的基本概念至关重要。指针变量存储的是另一个变量的内存地址,这个地址就是该变量在内存中的位置。声明一个指针变量时,我们需要指定它将指向...
本文将介绍C语言指针的基本概念、定义、初始化、运算以及与一维数组的关系。 首先,我们要理解内存地址的概念。在程序运行时,操作系统为代码和数据分配内存空间,每一个内存单元都有一个唯一的编号,称为内存地址...
c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 ...
### C语言指针的运用详解 #### 指针的概念及基本定义 在C语言中,指针是一种非常重要的数据类型,它存储的是其他变量或数据结构的内存地址。掌握指针的使用对于深入理解C语言乃至其他编程语言至关重要。本文将基于...
【C语言指针课程PPT】讲解了C语言中核心的指针概念,它是C语言高效编程的关键。指针允许程序直接访问内存地址,增强了代码的灵活性和性能。以下是关于指针的详细知识点: 1. **变量与内存地址**: - 当在C语言中...
在学习C语言指针时,我们需要了解指针的类型、指针所指向的类型、指针的值、指针本身所占据的内存区等四个方面的内容。 首先,让我们了解指针的类型。从语法的角度看,只需把指针声明语句里的指针名字去掉,剩下的...
- 通过《C语言指针大全.doc》和《MethodPointer.png》中的实例,可以进一步理解和应用上述概念,解决实际编程问题。 在学习和使用C语言指针时,务必重视实践,通过编写代码加深理解。同时,理解指针的底层工作原理...
在本文中,我们将详细地探讨C语言指针的用法,帮助读者彻底搞懂并熟练运用这一强大工具。 首先,让我们来了解C语言中变量的存储实质。在计算机内存中,所有数据都是以二进制的形式存储的,每一块存储单元都有一个...
C语言指针详解 C语言指针是一种关键的数据类型,想要学好C语言就必须掌握指针的用法。本篇文章将详细介绍C语言指针的基本概念、指针的声明和使用、数组指针的加减运算、指针之间的运算、指针之间的大小比较、数组...
《指针详解——C语言指针完全解析》 在C语言的世界中,指针是一个强大的工具,也是理解和掌握C语言的关键。本文将深入探讨指针的概念、类型、运算及其在笔试中的重要性。 首先,我们要了解什么是指针。指针是一个...