C和指针小结(推荐)

作者:jingxian 时间:2022-11-08 09:17:08 

C和指针

相关基础知识:内存的分配(谭浩强版)

1、整型变量的地址与浮点型/字符型变量的地址区别?(整型变量/浮点型变量的区别是什么)

2、int *p,指向整型数据的指针变量。

3、通过指针变量访问整型变量。

4、*p :指针变量p指向的存储单元(变量)

5、p = &a——>> *p = *&a

6、用指针作函数参数

7、调用函数中,由于虚实结合是采用单向的“值传递”方式,只能从实参向形参传数据,形参值的改变无法回传给实参。

8、引用一个数组元素可以用(1)下标法(2)指针法(占内存小,运行速度快)

9、指针提高效率在那些方面?(内存,运行时间??)

10、如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。

11、用指针变量作函数形参接受数组地址。数组指针和指针数组的区别


#include"iostream"
using namespace std;
int main()
{
  void sort(int *p,int n);
  int a[5],i;
  cout<<"input array:"<<endl;
  for(i=0;i<5;i++)
  cin>>a[i];
  cout<<endl;
  sort(a,5);
  cout<<" the sorted array:"<<endl;
  for(i=0;i<5;i++)
  cout<<a[i]<<" ";
  cout<<endl;
  return 0;
}

void sort(int *p,int n)
{
  int i,j,k,temp;
  for(i=0;i<n-1;i++)
  {
    k=i;
    for(j=i+1;j<n;j++)
    if(*(p+j)<*(p+k)) k=j;
    temp=*(p+k);
    *(p+k)=*(p+i);
    *(p+i)=temp;
  }
}

12、一个int占多少个字节?

13、实参和形参的结合有一下4种形式:

实参形参
数组名数组名
数组名指针变量
指针变量数组名
指针变量指针变量

14、实参数组名a代表一个固定的地址,或者说是指针常量,因此其值不可改变;形参数组名是指针变量,可以改变。//  a++ //语法错误,不可改变

15、字符串与指针。字符串数组/字符串变量/字符指针 存放字符串。


//test_3 指针存放字符串
#include<iostream>
using namespace std;
// #include<string> //字符串变量
int main()
{
  char str1[]="I Love C++",str2[20],*p1,*p2;
  p1=str1;
  p2=str2;
 for(;*p1!='\0';p1++,p2++)
 *p2=*p1;
 *p2='\0';
 p1=str1;
 p2=str2;
 cout<<"str1 is "<<p1<<endl;
 cout<<"str2 is "<<p2<<endl;
 return 0;
}

16、函数与指针。函数的入口地址就称为函数的指针。

1)、用函数指针调用函数

函数类型 (*变量名)(函数形参表)


#include<iostream>
using namespace std;

int main()
{
  int max(int x, int y);
  int (*p)(int,int);
  int a,b,m;
  p=max;
  cin>>a>>b;
  m=p(a,b);

cout<<"max is "<< m<<endl;
 return 0;
}

int max(int x,int y)
{
  int z;
  if (x<y)
  z=y;
  else
  z=x;
  return(z);
}

2)、用指向函数的指针作函数参数。

3)、返回指针值的函数:指针函数。

类型名 *函数名(参数列表);int *a( int x,int y);

17、

C和指针小结(推荐)

C和指针小结(推荐)

1)、指向常量的指针(不允许通过指针变量修改它指向的对象的值)

const 类型名 *指针变量名

2)、常指针(指定指针变量的值为常量,即指针变量的指向不可改变)

类型名 *const 指针变量名

Tips:必须在定义是初始化,指定其指向。

指针变量的指向不可改变,但指针变量的指向变量的值可以改变。*p2=12;//合法

注意(const和*的位置)。const在*后面,请与定义指向常变量的指针变量的形式比较。

3)、指向常量的常指针(指针变量指向一个固定的对象,该对象的值不能改变)。

const 基本类型名 *const 指针变量名

18)、void指针类型

标签:C,指针
0
投稿

猜你喜欢

  • Android开源库自定义相机模块

    2023-08-31 04:21:59
  • Java 使用Filter实现用户自动登陆

    2022-10-13 13:32:47
  • OpenGL绘制三次Bezier曲线

    2022-04-23 18:18:14
  • Android中BaseAdapter的用法分析与理解

    2022-07-23 19:35:37
  • Java byte数组操纵方式代码实例解析

    2022-02-18 16:54:12
  • Seata AT模式启动过程图文示例详解

    2022-12-04 19:24:56
  • 谈谈Java中整数类型(short int long)的存储方式

    2023-01-01 08:24:33
  • java多线程CountDownLatch与线程池ThreadPoolExecutor/ExecutorService案例

    2021-06-21 12:29:50
  • 用JAVA实现杨辉三角实例

    2023-08-28 16:45:23
  • 快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题

    2021-08-26 09:31:43
  • 一文详解如何在控制台显示MyBatis的SQL语句

    2023-01-09 06:43:38
  • C# 填充Excel图表、图例背景色的实例代码

    2023-08-06 04:01:31
  • 详细分析Java中String、StringBuffer、StringBuilder类的性能

    2023-05-03 05:22:41
  • Java查看线程运行状态的方法详解

    2023-05-23 12:21:10
  • Android自定义View实现闪耀字体效果

    2023-05-10 02:27:43
  • MyBatis中一对多的xml配置方式(嵌套查询/嵌套结果)

    2023-11-16 16:34:23
  • rocketmq如何修改存储路径

    2022-08-20 08:00:57
  • winform壁纸工具为图片添加当前月的日历信息

    2022-03-05 07:23:01
  • C#的WebBrowser操作frame实例解析

    2022-03-02 03:46:43
  • Android中执行java命令的方法及java代码执行并解析shell命令

    2022-08-27 15:45:13
  • asp之家 软件编程 m.aspxhome.com