美文网首页
详解,指针是C的门槛

详解,指针是C的门槛

作者: 这个夏天卟太热 | 来源:发表于2018-05-08 09:50 被阅读5次

汇编语言:都是直接操作地址去访问内存单元里面等内容。

C语言作为高级语言:提供通过地言:都是地址访问内存单元的内容。

喜欢的话关注收藏评论转发一波 比心么么哒!。

1、什么叫做地址?

地址就是内存中对每一个字节的编号。

通常一个数据的地址指的是存放这个数据的地址段的首地址。

注意:1、一个程序在运行是会自动为变量开辟新的内存,地址会变。

2、在同一次运行过程中变量的地址是不会变的。

3、数据段,一个程序是在一个数据段中进行的。

&(取地址运算符):单目运算符,返回一个变量的地址

*(指针运算符):单目运算符,返回的是一个地址里面的变量的数据。

&和*具有相同的优先级,自右向左结合。

什么是指针?

指针就是地址,地址就是指针。

什么是指针变量?

存放地址的变量。

1、指针变量的声明: 数据类型 *变量名; int *p;

2、指针变量的赋值:

A、在声明指针的时候赋值:int *p=&a;

B、先声明,再赋值。 Int *p; p=&a;

C、不允许把一个数赋值给指针变量:int *p; p=50000;(错误的)

3、指针变量的引用:

*变量名;Int *p; p=&a; *p=a;

#include

int main()

{

int a, b;

int *p; //声明一个指针变量

a = 20;

b = 25;

p = &a; //把变量啊的地址赋予p 10000

printf("变量a的值为:%d ", a);

printf("变量b的值为:%d ", b);

printf("变量a的地址为:%d ", &a);

printf("变量b的地址为:%d ", &b);

printf("指针变量p的值为:%d ", p);

printf("指针变量p指向的变量的值为:%d ", *p);

return 0;

}

#include

int main()

{

int a, b;

int temp;

a = 6;

b = 3;

temp = a;

a = b;

b = temp;

printf("a=%d b=%d ", a, b);

}

#include

void Swap(int a1, int b1);

int main()

{

int a, b;

a = 6;

b = 3;

Swap(a, b);

printf("a=%d b=%d ", a, b);

}

void Swap(inta1, intb1)

{

int temp;

temp = a1;

a1 = b1;

b1 = temp;

}

#include

void Swap(int *pa1, int pb1);

int main()

{

int a, b;

int *pa,*pb;

a = 6;

b = 3;

pa = &a;

pb = &b;

Swap(pa, pb);

printf("a=%d b=%d ", a, b);

}

void Swap(int *pa1, int *pb1)

{

int temp;

temp = *pa1; //

*pa1 = *pb1;

*pb1 = temp;

}

喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 666295498邀请码:夏热!群内有大量的项目开发和新手教学视频千人大群等着你来加入。

// x=x+y y=x-y

#include

void Calc(int *pa1, int*pb1);

int main()

{

int a = 6,b = 3;

int *pa = &a, *pb = &b;

Calc(pa,pb);

printf("a=%d b=%d ", a, b);

}

void Calc(int *pa1, int*pb1)

{

int temp;

temp = *pa1;

*pa1 = *pa1 + *pb1;

*pb1 = temp - *pb1;

}

最后一个:int a float b double c 运算 加减乘除 a+b c+c a-b b*c a/b

指针变量的运算:

(1)指针变量只可以做加减,不能做乘除,可以做关系运算

(2)加减法时,以指针指向的变量存储字节为单位。

Int a int *p; p=&a;2000 p+1=2004 4

Short p+1 2002 2

Char p+1 2001 1

Pa pb pc -----> a

*pa --->a

*pb 的值实际上就是a的值 *pb也会变化。

相关文章

  • 详解,指针是C的门槛

    汇编语言:都是直接操作地址去访问内存单元里面等内容。 C语言作为高级语言:提供通过地言:都是地址访问内存单元的内容...

  • [C]C语言指针

    Blog C语言指针详解 C语言字符串操作 指针的作用 指针是程序数据在内存中的地址,指针变量是用来保存这些地址的...

  • C++基础

    C++ 值传递、指针传递、引用传递详解C++中引用传递与指针传递区别 引用传递和指针传递的区别 引用的规则:(1)...

  • 【转载】C 指针详解

    原文链接 【让你不再害怕指针—— C 指针详解(经典,非常详细)】[https://blog.csdn.net/s...

  • C指针,结构体

    让你不再害怕指针——C指针详解(经典,非常详细) 结构体 struct的成员对齐问题-结构体实际大小问题

  • C/C++指针详解

    在大一的课程C语言程序设计中,课本上对于指针这块的讲解太浅了,所以一直对指针的概念不明确,在看了《C++ Prim...

  • 2-Linux C语言指针与内存-学习笔记

    Linux C语言指针与内存 前面我们对于: c语言的基本用法 makeFile文件的使用 main函数的详解 标...

  • C语言指针详解

    来自:https://www.cnblogs.com/lulipro/p/7460206.html,作者:代码钢琴...

  • C++this指针详解

    转载自http://blog.csdn.net/qq_35524916/article/details/69367...

  • 详解C语言指针

    内存和地址 1.内存中每个位置都是一个独一无二的地址标识(变量的地址);2.内存中的每个位置都包含一个值(变量的值...

网友评论

      本文标题:详解,指针是C的门槛

      本文链接:https://www.haomeiwen.com/subject/aprirftx.html