初识指针

指针,我理解就是保存另一个变量的地址的变量。例如int x,这个变量,它的内存地址可以用&x这个表达式得到。

如果要利用这个内存地址来处理x的话,可以利用*x来作为它的指针,*x就是存储x内存地址的变量。例如:

对*x进行操作: *x = 5  那么就把5这个值放到来这个指针指向的内存位置,也就是x变量。下面的代码用来获得数组的最大值。

 1 #include <stdio.h>
 2
 3 void max(int list[], int len, int *x) // x means max
 4 {
 5     *x = list[0];
 6     for (int i=1; i<len; i++)
 7     {
 8         if (*x < list[i])
 9             *x = list[i];
10     }
11 }
12
13
14 int main(void)
15 {
16     int list[] = {1,2,3,5,7,8,12,34,56};
17     int x;
18     printf("x before func max: x = %d\n", x);
19     max(list, sizeof(list)/sizeof(list[0]), &x);
20     printf("max = %d\n", x);
21     return 0;
22 }
时间: 2024-10-05 06:58:26

初识指针的相关文章

深入理解C指针之一:初识指针

简单来说,指针包含的就是内存地址.理解指针关键在于理解C的内存管理模式.C里面有三种内存: ①.静态全局内存(生命周期从程序开始到程序结束,全局变量作用域是全局,静态变量作用域在定义它们的函数内部): ②.自动内存(在函数内部声明的变量,在函数被调用时创建,作用域和生命周期都在函数内部): ③.动态内存(内存分配在堆上,根据需要释放,通过指针引用,作用域局限于引用的指针): 下面先来生命一个指针并打印其地址和值,这里p%指的是以十六进制的形式返回数据: #include <stdio.h> m

1.1 初识指针

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址. 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区.让我们分别说明. 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3]; (5)int*(*ptr)[4]; 1.指针的类型 从语法的角度看, 你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的

[002]初识指针

指针(pointer)与引用都实现了对其它对象的间接访问,但与引用不同的是,指针本身是一个对象,也无须在定义时赋初值.用*p的形式来定义指针. 1 int val, *p2; //val是int类型对象,p2是指向int对象的指针 由于指针存放的是对象的地址,所以要想获取该地址,需要使用取地址符(&). 1 int val = 1024; 2 int *pval = &val; //pval是指向变量val的指针 与引用类似,大多数情况下指针的类型都要与其指向的对象严格匹配. 未完.

(0)c++入门——认识指针与数组——指针即是内存中地址。

初识指针 首先需要了解一个概念,计算机的内存(或者说是寄存器)都是有地址的. <c++ primer plus>一书P37中提到这样一个概念:为把信息存储在计算机中,程序必须记录3个基本属性: 1.信息将要存储在哪里 2.要存储什么值 3.存储何种类型的信息 而正是为了满足第一个属性,开发语言的设计者设计或者说定义了指针:用于描述信息(各种类型的数据如int.float.double等)在内存中的地址(位置).就好比酒店在设计之初也需要制定各个房间的编号是什么,这样更方便安排客户入住.如下图:

2.10一级指针初识

[注:自己从老师讲解出理解的,不对的地方望指正] [注:本程序验证是使用vs2013版] [刚学c的一句话:独学而无友,孤陋而寡闻] #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma warning(disable:4996) int main(void){ /* 1.指针是一种数据类型,是指它指向的内存空间的数据类型. 2.初始化的指针是一个变量,是变量的话内存就需要给这个变量存放的地

指针初识

指针可以说是c语言从汇编那继承下来的!C语言中指针就跟汇编中的直接寻址,间接寻址等一样,去自直接操作内存:直接去操作内存,效率更高: 指针是C语言中的精华,在C语言中很多地方都会用到指针(函数传参,函数返回值等):指针让程序员可以写出高的数据结构,编写出简洁,紧凑,高效的程序: 所以要想熟练的使用C,指针是必不可少的: 注意:在32位的操作系统中,不管定义的是什么类型的指针都是4字节: 1. 指针带来的一些符号的理解 1. 星号* : (1)定义指针:*和前面的类型结合,定义一个该类型的指针(i

C语言指针初识

定义指针变量 定义指针变量,在变量名前面加星号*,格式为: int a; datatype *pointname; int *p; p = &a; 或者 int a; datatype *pointname = value; int *p = &a; 定义指针变量时必须带*,给指针变量赋地址值时不能带*,等于一个地址即可改变指针指向. 1 //定义普通变量 2 float a = 99.5, b = 10.6; 3 char c = '@', d = '#'; 4 //定义指针变量 5 f

初识git

初识git 1 安装git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Windows这几大平台上正常运行了. 要使用Git,第一步当然是安装Git了.根据你当前使用的平台来阅读下面的文字: 1.1 在Linux上安装Git 首先,你可以试着输入git,看看系统有没有安装Git: ``` $ git The program 'git' is curren

ARC - strong和weak指针

ARC指南1 - strong和weak指针 提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是"本地变量" 一.简介 ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain.release.autorelease语句.你不再需要担心内存管理,因为编译器为你处理了一切 注意:ARC 是编译器特性,而不是 iOS 运行时特性(除了weak指针系统),它也不