Linux c 指针问题

char ch = ‘a‘;

char *cp = &ch;

= ++*cp++;

第三句怎么解释?

= ++*cp++;

应该作为左值非法(处于等号左边),作为右值(即放等号右边),该怎么解释???

我已经看出来了,执行结果是这样:
=++(*(cp++));
系统由于后缀,先产生一个cp的拷贝,然后cp原值间接访问内容,然后将内容加1。
结果是a 变为了b

时间: 2024-10-14 20:51:55

Linux c 指针问题的相关文章

linux内核指针和错误值

很多内部内核函数返回一个指针值给调用者. 许多这些函数也可能失败. 大部分情况, 失 败由返回一个 NULL 指针值来指示. 这个技术是能用的, 但是它不能通知问题的确切特性. 一些接口确实需要返回一个实际的错误码以便于调用者能够基于实际上什么出错来作出正 确的判断. 许多内核接口通过在指针值中对错误值编码来返回这个信息. 这样的信息必须小心使用, 因为它们的返回值不能简单地与 NULL 比较. 为帮助创建和使用这类接口, 一小部分函数 已可用( 在 <linux/err.h>). 一个返回指

linux内核链表的使用

linux内核链表:链表通常包括两个域:数据域和指针域.struct list_head{struct list_head *next,*prev;};include/linux/list.h中实现了一套精彩的链表数据结构.传统的链表指针指向下一个节点的头部.linux链表指针指向下一个指针list_head结构(*next),双向循环.不会随着外部数据的变化而变化,使它具有通用性.? -------------------------------------------------------

Linux内核入门

Linux是一套免费使用和自由传播的类Unix操作系统,它最先用于基于x86系列CPU的计算机上.这个系统是由世界各地的成千上万的程序员设计和实现的.其目的是建立不受任何商品化软件的版权制约的.全世界都能自由使用的Unix兼容产品. 我们不去介绍操作系统的历史了,也不管操作系统这门学科上对操作系统的分类了,闲话少说,Linux操作系统只是一个非常新的操作系统.它不拘泥于某种特 定的操作系统类型,从内核上讲,它是一个分时操作系统,但又具备实时操作系统的特性:从体系上讲,它是一个单内核操作系统,但又

c语言详解sizeof

一.sizeof的概念   sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等. 它并不是函数. sizeof操作符以字节形式给出了其操作数的存储大小. 操作数可以是一个表达式或括在括号内的类型名. 操作数的存储大小由操作数的类型决定. 二.sizeof的使用方法   1.用于数据类型 sizeof使用形式: sizeof(type) 数据类型必须用括号括住: sizeof(int) 2.用于变量 sizeof使用形式: sizeof(var_name) 或 sizeof v

笔试真题解析 ALBB-2015 算法project师实习生机试

1.用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0. [解析] 计算N.下3进制结果末尾有多少个0,事实上就是计算3进制中的3被进位多少次,仅仅要将N!因式分解成3^m*other.m就是答案.技巧性的解法就是m=N/3+N/(3^2)+N/(3^3)....+N(3^k) (k<=N/3) -- N=30:N/3+N/9+N/27=14. 2.小赵和小钱二人分别从寝室和图书馆同一时候出发.相向而行.过了一段时间后二人在中途相遇.小赵继续向图

sizeof的主要用法

原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html 一.sizeof的概念   sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等. 它并不是函数. sizeof操作符以字节形式给出了其操作数的存储大小. 操作数可以是一个表达式或括在括号内的类型名. 操作数的存储大小由操作数的类型决定. 二.sizeof的使用方法   1.用于数据类型 sizeof使用形式: sizeof(type) 数据类型必须用括号括住:

C语言中sizeof与strlen区别

C语言中sizeof 与strlen 区别 一.本质区别 sizeof 和strlen 有本质上的区别.sizeof 是C 语言的一种单目运算符,如++.--等,并不是函数,sizeof 的优先级为2 级,比/.% 等3 级运算符优先级高,sizeof 以字节的形式给出操作数的存储空间的大小.而 strlen 是一个函数,是由 C 语言 的标准库提供的.strlen 计算的  是字符串的长度. 二.使用区别 1.sizeof sizeof 的操作数可以是数据类型.函数.变量,表达式使用方式为:

笔试真题 ALBB-2015 算法工程师实习生 笔试真题 解析

1.用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0. [解析] 计算N!下3进制结果末尾有多少个0,其实就是计算3进制中的3被进位多少次,只要将N!因式分解成3^m*other,m就是答案.技巧性的解法就是m=N/3+N/(3^2)+N/(3^3)....+N(3^k) (k<=N/3) -- N=30:N/3+N/9+N/27=14. 2.小赵和小钱二人分别从寝室和图书馆同时出发,相向而行.过了一段时间后二人在中途相遇,小赵继续向图书馆前进

javascript学习之入门(四)

/***@author sinux*@date 2013/9/5*@Content javascript基础入门(四)**/二,对象基础0.作用域   a.常见的编程语言都离不开作用域的概念.作用域实际上就是指属性或变量的适用范围.一般来讲有公有,私有,及受保护的作用域之分.   b.实际上,javascript中的所有属性和方法均为公有作用域,没有私有和保护作用域的,显然在js中大谈作用域,除了加深对编程语言的横向比较意识之外,我看不到有什么亮点.   c.虽然js没有静态作用域,不够它可以给