Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

C语言中函数体内对外部字符指针赋值

C语言中函数体内对外部字符指针赋值

今天同事问我一个C程序code.c,代码如下:#include <stdio.h>int test(char *b){b = "123";return 1;}int main(){char a[10];test(a);printf("a[] = %s ", a);return 1;}同事的目的是给数组a赋值一个常量字符数组,但程序打印后显示乱码。旁边的同事以C语言的语义来解释这段代码出现该问题的原因,如给test()传递的参数是a的一个拷贝,t...
语言的歧义

语言的歧义

语言是人与人相互沟通的途径,而计算机语言则是人和计算机沟通的途径。就算是任何再完美的自然语言都会有歧义,但是又是什么让人和计算计算机间产生了歧义呢?下面这篇文章来自Gowri Kumar的Puzzle C一文。我做了一些整理,挑选了其中的一些问题,并在之后配上相应的答案(这些答案是我加的,如果需要原版的答案可以直接和本文作者Gowri Kumar联系,作者的联系方式可以从这里得到)。puzzle 1此段程序的作者希望输出数组中的所有元素,但是他却没有得到他...
C/C++可变参数,“## __VA_ARGS__”宏的介绍和使用

C/C++可变参数,“## __VA_ARGS__”宏的介绍和使用

在阅读代码的时候,在一个宏定义语句中,发现了个之前未曾见过的编译器预定义宏:“__VA_ARGS__”。当时,从代码语句中推测它代表宏参数:“…”(本文称之为省略号),依稀记得printf函数声明中有使用这个省略号,大概的意思是表示可变化的参数,但未深入了解。在网上看了相关文章的介绍,主要涉及了C/C++函数中可变化参数的基础知识,并延伸到宏定义中的可变参数。借这一次的学习,算是对可变化参数有了...
攻击者利用开放Wi-Fi向Android注入恶意程序

攻击者利用开放Wi-Fi向Android注入恶意程序

安全研究人员称,旧版本Android系统发现的一个漏洞,可以让攻击者在终端用户智能手机上执行恶意代码。漏洞存在于一个广泛使用的应用程序接口WebView上, 开发者可以利用该接口在应用中嵌入Web内容。研究人员发现,大多数使用该接口的程序没有正确使用安全链接下载Web内容。因此,攻击者能够利用开放 WiFi网站,劫持连接,向Android应用注入恶意JavaScript代码。该漏洞主要影响Android 4.2之前的系统,Android 4.2加入了新的安...
C语言中 ##和#的作用

C语言中 ##和#的作用

##和#今天应该是“长见识”了,毕竟#用的多,但是##我用的太少了。或者说,我感觉##在代码里面出现的频率没有#高,以至于让我感到惊奇看到高手写的一篇文章http://www.linuxidc.com/Linux/2014-06/102925.htm,感觉良好。。。。嘿嘿关于##不要把问题复杂化了,记住下面这句话,然后看下面的demo#是把宏参数变为一个字符串,##是把两个宏参数连接在一起。#include <stdio.h&...
Java中的对象有多大?

Java中的对象有多大?

习惯了C与语言中精确计算一个结构体,一段数组的所占空间,在使用Java时就有些心里没底。虽然知道Integer比int要大,到底大多少?知道String比char[]要大,到底大多少?我甚至一度认为这是与JVM的GC相关的动态数字。 看了几篇针对性的文章,并做实验,有了明确的认识。对象内存布局String内存布局数组内存布局归纳成以下几个数字化的结论一个Object需要8字节的housekeeping一个Object最终占用的字节数要向8字节对齐,即是8的...
C++中static关键字总结

C++中static关键字总结

static存在的意义:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此函数控制)。static的声明与定义:静态数据成员要实际地分配空间,故不能在类的声...
<< 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 >>