C语言之指针高级

原创 2015年11月18日 08:47:02


数组是不能直接赋值的,数组名代表元素的首地址,数组是常量 地址不能改值,只能用字符串拷贝函数strcpy把值拷贝进去。或者把数组里每一个元素取出来出来赋值

指针变量p与array相同都指向数组第一个元素的地址
字符串长度只要不是’\0’就加1,把指针移到字符串下一位
数组名是常量地址,不能被赋值和重指向
指针可以重指向
数组不能被直接赋值,数组元素可以被直接赋值
数组的内存地址:在C语言中数组是构造类型,系统会分配一段连续的内存空间来存储数组的全部数据
&array == &array[0] == p
指针变量parray相同都指向数组第一个元素的地址(数组的首地址)

数组名代表数组首地址,不需要&
*(p+1)是指内存地址加1,所得内存地址上数组元素的值
(*p)+1是指*p取值加1
(p+1)的内部实现是:p是数组元素的首地址,p+1*int(当前数组的类型所占的字节数)
(p+1)=p+1*当前数组的类型所占的字节数)
(*p)+1*p是数组第一个元素的值,然后再加1
指针可以当数组名使用
四个相同的结果数组的第二个元素
p[1] == array[1] == *(p+1) == *(array+1);

版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言高级指针

函数指针 当声明一个函数指针时,必须声明它指向的函数类型,即要指出函数的返回类型以及函数的参数类型。 声明一个指向特定函数类型的指针的简单方法是,首先声明一个该类型的函数,然后用( *pf )形式的表...
  • xgf415
  • xgf415
  • 2016年07月19日 19:16
  • 529

c语言高级指针理解及应用(上)

大纲 1.指针的基础知识; 2.指针和指针类型; 3.二级指针; 4.指针表达式解析 5.指针运算; 6.指针的应用的一些代码**本文先说明一些指针的概念及一些简单应用,更详细的将在(下)...

[Pointer]C语言中指针的高级用法

问题描述:指针是C语言很有特色的一个部分,但是使用也比较复杂,很容易导致一些莫名的错误,比如有时候函数指针没有赋值,有时指向了未定义的内存,这些时候都可能导致程序异常执行或者崩溃。但指针的灵活性让它可...

C语言09 -- 高级指针

// // main.m // C9–高级指针 // // Created by dllo on 15/7/10. // Copyright (c) 2015年 Gaozi. All...
  • gao_zi
  • gao_zi
  • 2015年07月20日 20:01
  • 297

C语言_高级指针

高级指针
  • Damoncw
  • Damoncw
  • 2014年10月27日 20:43
  • 293

c语言指针高级话题

1.高级声明 int f; 一个整形变量。 int *f; 一个指向整形的指针。 int f(); 一个返回值为整形的函数。 int *f(); 明确表达式是如何求值的,首先执行的是...

C语言回顾 九 高级指针

高级指针#import //数组作为函数参数 //取一数组中的最大元素 void printMaxValueOfArray(int a[],int count); void printMaxValu...

gdb调试&C语言指针高级编程(5.7)

GCC编译器简介: 一、基本知识了解      GCC是由gun之父Stallman所开发的linux下的编译器。全程为GNU C Complier (GNU c语言编译器)。这是一种早期的说法,早期...

iOS开发之c语言基础-高级指针

// //  main.m //  c9- 高级指针 // //  Created by dllo on 15/10/16. //  Copyright (c) 2015...

4.4.C语言复杂表达式和指针高级应用

4.4.1.指针数组与数组指针 4.4.1.1、字面意思来理解指针数组与数组指针 (1)指针数组的实质是一个数组,这个数组中存储的内容全部是指针变量。 (2)数组指针的实质是一个指针,这...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言之指针高级
举报原因:
原因补充:

(最多只允许输入30个字)