首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言的二级指针

用C语言指针作为函数返回值: C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数 函数运行结束后会销毁在它内部定义的所有局部数据 #include #include...c=strlong(a,b); printf("c=%s",c); return 0; } C语言二级指针(指向指针的指针): 指针可以指向一份普通类型的数据...如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针 #include int main(){ int e=100; int *..., &b=%#x , c=%#x \n",&e,b,&b,c); return 0; } &e=0xbfe7c530 , b=0xbfe7c530 , &b=0xbfe7c534 ,...c=0xbfe7c534 e的地址是0xbfe7c530 , b是指针地址是0xbfe7c530 ,正好b指向e b指针变量本身的地址是0xbfe7c534 , c是指针地址是0xbfe7c534 ,

1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言二级错题积累(1)

    C语言中的非执行语句不会被编译,不会生成二进制的机器指令。...由C语言构成的指令序列称C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由"连接程序"把此.OBJ文件与C语言提供的各种数据库函数连接起来生成一个后缀为...C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。关键字不能作为标识符。 取模运算符%,二元运算符,具有左结合性。...在VC6.0平台中,int4字节,double8字节 C语言的逻辑运算符比较特别,他的操作数没有明确的数据类型,可以是任意合法的表达式。 不能将一个整数直接赋给指针变量作为地址。...在C语言中,只有在使用时才占用内存单元的变量,其存储类型是auto和register 不能再定义结构体的同时,又用结构体类型名定义变量。

    36310

    C语言二级错题积累(2)

    在一C语言程序中可以进行多种算法的实现,对算法的个数没有规定。 C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。 赋值运算符的优先级高于逗号运算符的优先级。...关键字typedef的作用只是将C语言中的已有的数据类型作了置换,并不是增加新的类型。 当对文件的读(写)操作完成之后,必须将他关闭,否则可能导致数据丢失。...C语言中的文件可以进行随机读写。 在计算机中,运算器的基本功能是继续宁算数和逻辑运算。 理论上计算机虚拟内存最大容量取决于计算机地址位数。...C语言是一种结构化程序设计语言。 程序化程序设计提倡模块化的设计方法。 在C语言中整型常量可以用十进制、八进制和十六进制等进制形式表示,但不包括二进制。...C语言中标识符由字母、数字、下划线、组成,另外关键字不能作为标识符。 算数运算符+的优先级高于- =,且- = 的结合方向为自右向左。

    39610

    【C语言篇】C语言常考及易错题整理DAY3

    基本数据类型的等级从低到高如下:char int long float double运算的时候是从低转到高的,表达式的类型会自动提升或者转换为参与表达式求值的最上级类型 相关知识点:整形提升和算术转换在【C语言篇...这里在右移的时候采用的是算术右移,符号位保持为1,右移后填充1,结果为0xFFFFFFFF,即-1, 0x00000001^0xFFFFFFFF,即0xFFFFFFFE(-2) 相关知识点:左移右移操作符在【C语言篇...,在C语言里p=NULL;和p=0;是等价的;D选项中,指向同一数组的两指针变量进行关系运算可表示它们所指数组元素之间的位置关系(低地址or高地址)。...r#l 输出: l r gi y bo 创建二维数组,每次读到的单词放到一行,最后逆序输出即可,这里有关scanf的拓展输入用法想了解更多的读者详情请见:【C语言篇】scanf和printf万字超详细介绍...ret_arr; } } } *returnSize = 0;//没有符合的下标则返回数组大小为0; return NULL; } 以上就是关于C语言常考及易错题的整理啦

    5410

    【C语言篇】C语言常考及易错题整理DAY2

    C语言常考及易错题整理 选择题 下列 for 循环的次数为( ) for(int i = 0 ; i || i++ < 5;) A: 0 B: 5 C: 1 D: 无限 答案解析: 正确答案:D 逻辑或运算如果前表达式为真...,后表达式不计算,第一次循环时i为0,执行i++,第二次循环时i为1,是个真值,不再执行 i++,也就死循环了 在c语言中,一个函数不写返回值类型,默认的返回类型是( ) A: int B: char...C: void D: 都不是 答案解析: 正确答案:A 一个函数不写返回值类型,默认的返回类型是int,但不提倡这么做 相关知识:【C语言篇】从零带你全面了解函数(包括隐式声明等) 在上下文及头文件均正常的情况下...printf("%d",count); 答案解析: 正确答案:死循环 此题一个关键,有符号数右移一般默认运算高位是补符号位的(算术右移),负数的符号位是1,所以x永远不会变为0,是个死循环 相关知识: 【C语言篇...得到每位相加不考虑进位的数据 num2 = (num1 & num2) << 1;//同1的位相加则会进位 num1 = tmp; } return num1; } 以上就是关于C语言常考及易错题的整理啦

    8310

    【C语言篇】C语言常考及易错题整理DAY1

    C语言常考及易错题整理 选择题 全局、局部和静态变量 执行下面程序,正确的输出是: int x=5,y=7; void swap() { int z; z=x; x=y;...a=a+(a=a-a*a),即先计算``a=a-a*a,所以此时a的值为3-3*3=-6,再计算-6+(-6)=-12赋值给a,所以a`的值 为-12,也就是整个表达式的值,就是-12 循环 我们知道C语言的...对于 struct X{short s;int i;char c;},sizeof(X)等于sizeof(s) + sizeof(i) + sizeof(c) B....C选项,a为数组首地址是常量不能改变, 所以A,B,C都是错的,选择D 编程题 计算日期到天数转换 根据输入的日期,计算是这一年的第几天。 保证年份为4位数且日期合法。...continue; } printf("YES\n"); } } return 0; } 以上就是关于C语言常考及易错题的整理啦

    11710

    寒假备战计算机二级C语言

    报名了3月份计算机二级C语言的同学,一定不要太放松了。 在寒假这段时间,我们准备整理一份C语言知识点,一个个章节的带领大家学习。一定要跟上了,别掉队。...在开始这轮学习前,我们先来测试下自己C语言水平吧,以下知识点,你已经掌握的有多少? 1)程序结构是三种: 顺序结构 、选择结构(分支结构)、循环结构。...byte是指字节, 一个字节 = 八个位. 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。...3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、break可用于循环结构和switch语句。

    59010

    C语言二级指针用法之模拟句柄用途

    二级指针 指针是C语言中最高深莫测的部分了,能够直接操作内存的这些指针如果使用得当的话可以完成很多很高效的代码。而二级或者多级指针则能够达到你之前想都不敢想的效果。...以下来自于百度百科 A(即B的地址)是指向指针的指针,称为二级指针,用于存放二级指针的变量称为二级指针变量.根据B的不同情况,二级指针又分为指向指针变量的指针和指向数组的指针。...由此可见,指针的指针那就是二级指针了,表现在代码中就是将上述的形参定义为二级指针并使用主函数的一级指针变量去传递参数。...show(void *a) { printf("*a addr:%p\n", a); couple_num_t* temp = a; printf("show:\n%d\n%c\...后记 这种方法在C语言下设计功能模块时特别有用,模仿了面向对象的句柄思想,减少模块间的耦合(不使用全局变量,各方法就不会无意间相互干扰了)。 ---- ? impressionyang

    1.9K11

    【C语言】指针&&二级指针&&数组指针&&指针数组详解

    标准规定: 允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较 可以从前往后遍历,但是不要从后往前遍历 1.6 二级指针...指针变量也是变量,是变量就有地址 二级指针变量存放一级指针变量的地址 同理,也有三级指针变量,存放二级指针变量的地址 a的地址存放在p中,p的地址存放在pp中 p是一级指针,pp是二级指针 *pp通过对...abcdef 放到字符指针 pstr 里了,但是,本质是把字符串 abcdef的首字符的地址放到了pstr中 上面代码的意思是把一个常量字符串的首字符 a 的地址存放到指针变量 pstr 中 注意: C/...C++会把常量字符串存储到单独的一个内存区域,当几个指针指向同一个字符串的时候,他们实际会指向同一块内存。...函数的使用 qsort是一个库函数,底层使用的快速排序的方式,对数据进行排序的 这个函数可以直接用来使用,这个函数可以用来排序任何类型的数据 首先,我们先了解一下qsort函数的用法 qsort - C+

    88011

    C二级指针

    如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。...将这种关系转换为C语言代码: int a =100; int *p1 = &a; int **p2 = &p1; 指针变量也是一种变量,也会占用存储空间,也可以使用&获取它的地址。...C语言不限制指针的级数,每增加一级指针,在定义指针变量时就得增加一个星号*。p1 是一级指针,指向普通类型的数据,定义时有一个*;p2 是二级指针,指向一级指针 p1,定义时有两个*。...如果我们希望再定义一个三级指针 p3,让它指向 p2,那么可以这样写: int ***p3 = &p2; 四级指针也是类似的道理: int ****p4 = &p3; 实际开发中会经常使用一级指针和二级指针...想要获取指针指向的数据时,一级指针加一个*,二级指针加两个*,三级指针加三个*,以此类推,请看代码: #include int main(){ int a =100; int

    52810
    领券