
----1.1 C语言基础
呈叙墨客
这个作者很懒,什么都没留下…
展开
-
C语言经典习题——函数
一、int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是_8__,*(*(a+1)+0)的值是___8___ 二、char *s = "abcde";以下哪一个是错的 A:char s[10] = "abcdefg"; B:char t[] = "abcdefg"; char *s = t; C:char s[10]; s="abcdefg"; //数组名是常量原创 2012-07-18 18:23:51 · 1064 阅读 · 0 评论 -
C语言内存分段
BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量和未初始化静态变量的一块内存区域。BSS是英文Block Started by Symbol的简称,属于静态内存分配。BSS节不包含任何数据,只是简单的维护开始和结束的地址,即总大小,以便内存区能在运行时分配并被有效地清零。BSS节在应用程序的二进制映象文件中并不存在,即不占用磁盘空间而只在运行的时候占用内存空间,所以如果原创 2014-08-10 09:59:22 · 1455 阅读 · 0 评论 -
字节对齐(强制对齐以及自然对齐)
struct {}node; 32为的x86,window下VC下sizeof(node)的值为1,而linux的gcc下值为0; 一、WINDOWS下(VC--其实GCC和其原理基本一样,象这种问题,一般要查具体的编译器设置)字节对齐的规则: 1、一般设置的对齐方式为1,2,4字节对齐方式,VC一般默认为4字节(最大为8字节)。结构的首地址必须是结构内最宽类型的整数倍地址;另外转载 2014-09-20 22:47:38 · 686 阅读 · 0 评论 -
__attribute__((visibility("default")))
-fvisibility=default|internal|hidden|protected gcc的visibility是说,如果编译的时候用了这个属性,那么动态库的符号都是hidden的,除非强制声明。 1.创建一个c源文件,内容简单 #include #include __attribute ((visibility("default"))) void not_转载 2015-05-22 09:36:58 · 899 阅读 · 0 评论 -
大小端详解
端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian(这句话最为形象)。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big End转载 2015-10-22 09:57:45 · 495 阅读 · 0 评论