c 函数及指针学习 8

联合体





1

2

3

4

5

6

7

8

9

10

11

12

13

#include <stdio.h>

union
sa

    {

    double
a;

    int
b;

    };

int
main()

{

union
sa ssa;

printf("%d \n",sizeof(union
sa));

}

联合体的声明,定义,与结构体一样。

联合体的长度为最长成员的长度。

联合体的初始化





1

2

3

4

5

6

7

8

9

10

11

12

13

#include <stdio.h>

union
sa

    {

    int
a;

    int
b;

    };

int
main()

{

union
sa ssa={1};;

printf("%d \n",ssa.a);

}

初始化的值必须为第一个成员的类型

如果是其他类型,则会转化成该类型(如果能);





1

union
sa ssa={1.9};

a为1;





1

2

3

4

5

6

7

8

9

10

11

12

#include <stdio.h>

union
sa

    {

    float
a;

    int
b;

    };

int
main()

{

union
sa ssa={1};

printf("%f \n",ssa.a);

}

a为1.000000

来自为知笔记(Wiz)

c 函数及指针学习 8

时间: 2024-10-09 23:19:29

c 函数及指针学习 8的相关文章

c 函数及指针学习 10

标准库函数 1算数运算stdlib.h 2随机数stdlib.h 3字符串转化stdlib.h 4数学函数 math.h 5日期和时间 time.h 6信号 signal.h 7打印可变参数列表stdarg.h 8断言 assert.h 抽象数据类型在数据结构中比较仔细 运行时环境没看 来自为知笔记(Wiz)c 函数及指针学习 10,码迷,mamicode.com

c 函数及指针学习 6

不完整声明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /* 方法一   */ struct tag_a{     struct tag_b *bp;  /* 这里struct tag_b 还没有定义,但编译器可以接受 */     int value; }; struct tag_b{     struct tag_a *ap;     int value; }; typedef struct tag

c 函数及指针学习 5

聚合数据类型 能够同时存储超过一个的单独数据. c语言提供了数组和结构体. 1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> #include <math.h> void main() { struct {     int a;     }x,*b; int c[2]={1,2}; x.a=1; b=c; printf("%d \n",b[1]); printf("%d \n",x.

C函数及指针学习3

1 2 3 4 5 6 7 8 9 10 11 12 13 #include <stdio.h> void main() { char *sa="sdhshdh"; char *sb="cdehhhhsdssssd"; printf("%d , %d \n",strlen(sa),strlen(sb));    if(strlen(sa)-strlen(sb)>=0) {     printf("run 1\n&quo

c 函数及指针学习 7

1.结构的存储分配 1 2 printf("%d \n",sizeof(char)); printf("%d \n",sizeof(int)); int 类型为4B char 为1B 1 2 3 4 5 6 7 struct sa     {         char a;         int  b;         char c;     }; 1 2 3 4 5 6 7 8 struct sa     {         char c;         ch

C和指针 学习笔记-4.函数

参数传递: 参数传递采用按值传递 ADT&黑盒 ADT:abstract data type,抽象数据类型 c可以用于设计与实现抽象数据类型,因为它可以限制函数和数据定义的作用域,这种技巧也称为黑盒设计 user.h #define MAXLEN 3 struct UserClz { char *name; char *phone; char *address; }; typedef struct UserClz User; /* *接函数 *通地名称查找地址 */ char const * l

C++学习笔记:指向函数的指针

1 #include <stdio.h> 2 3 int sum(int a, int b) 4 { 5 return a+b; 6 } 7 8 int minus(int a, int b) 9 { 10 return a-b; 11 } 12 13 int x(int a, int b) 14 { 15 return a*b; 16 } //第一个参数为指向函数的指针,返回类型为int,参数是int,int 1 void counting(int (*p)(int, int), int a

C语言基础学习6: 指向函数的指针

1.函数指针变量调用函数 1 #include <stdio.h> 2 int max(int x, int y); 3 int max(int x, int y) 4 { 5 int z; 6 if(x<y) 7 z = y; 8 else 9 z = x; 10 return z; 11 } 12 void main() 13 { 14 int a,b,c; 15 scanf("a=%d,b=%d",&a,&b); 16 c = max(a,b);

学习笔记之14-返回指针的函数与指向函数的指针

一.返回指针的函数 指针也是C语言中的一种数据类型,因此一个函数的返回值肯定可以是指针类型的. 返回指针的函数的一般形式为:类型名 * 函数名(参数列表) 比如下面这个函数,返回一个指向char类型变量的指针 1 // 将字符串str中的小写字母变成大写字母,并返回改变后的字符串 2 // 注意的是:这里的参数要传字符串变量,不能传字符串常量 3 char * upper(char *str) { 4 // 先保留最初的地址.因为等会str指向的位置会变来变去的. 5 char *dest =