欢迎来到【java蓝牙源码下载】【linux内核源码视频教程】【stl源码剖析中文版】memset函数源码_memset函数原理-皮皮网网站!!!

皮皮网

【java蓝牙源码下载】【linux内核源码视频教程】【stl源码剖析中文版】memset函数源码_memset函数原理-皮皮网 扫描左侧二维码访问本站手机端

【java蓝牙源码下载】【linux内核源码视频教程】【stl源码剖析中文版】memset函数源码_memset函数原理

2024-11-30 02:35:40 来源:{typename type="name"/} 分类:{typename type="name"/}

1.c语言memset初始化结构体问题

memset函数源码_memset函数原理

c语言memset初始化结构体问题

       1.memset函数的函数函数java蓝牙源码下载原型void *memset(void *s, char ch, size_t n);

       函数的第一个形式参数是指针类型,所以实参因为一个地址,即&a

       注意&a与a是不同的.a是结构体变量名,而&a是变量a的地址.

       2.另外memset()是一个库函数函数,需要加头文件#include<string.h>

       3.正如你所说的全局与主函数内定义变量a是有一点区别

       源代码如下:

       #include<stdio.h>

       #include<string.h>

       typedef struct ss

       {

           int num;

           int dir[5][3];

       }tent;

       //tent a;

       int main()

       {

           tent a;

        printf("a=%p\n",a);  //输出的是变量的地址 

        printf("&a=%p\n",&a);//注意a与&a的区别

           memset(&a,0,sizeof(a));

           return 0;

       }

       主函数内运行结果:

        

       全局变量运行结果:

        

        

       这个没警告的.

       已上在VC6.0下的结果

       为嘛第二个没警告,暂时不清楚.但第一个有警告是合理的.