VS2010 输出结构体的地址是乱码

问题描述

VS2010 输出结构体的地址是乱码

struct Student{
int num;
char name[20];
char sex;
};
int main()
{
Student student1 = {10001,"zhang xin",'M'};

cout<<&student1.num<<endl;
cout<<&student1.name<<endl;
cout<<&student1.sex<<endl;
return 0;

}


定义上面的结构体,但是输出cout<<&student1.sex<<endl; 结果却是乱码,理论上不应该是name的地址加上20?已考虑到字节对齐情况!

解决方案

你用&干啥的,取student1的地址吗?

解决方案二:

cout会对于字符数组会做一些处理。打印字符串等。

时间: 2024-09-29 20:40:14

VS2010 输出结构体的地址是乱码的相关文章

【C/C++学院】0730-网站以及后门/结构体对齐、结构体面试分析/深拷贝与浅拷贝/队列/字符串封装

 网站以及后门 Windwos安装Apache服务器软件,进行测试.Localhost 将可执行程序xxx.exe改为xxx.cgi放到apache服务器上,通过浏览器进行访问. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> void main() { printf("Content-type:text/html\n\n&quo

C语言结构体深度剖析

     做了挺久的开发,对于C这种东西,我不敢说自己已经精通了,毕竟还是有许多细节在学习的过程中会遗忘,然后再通过实践慢慢去一点点捡回来.所以只能算是熟练级别.      Linux内核的实现博大精深,从offsetof的实现到后面的container_of,为什么通过结构体的的成员就能获得整个结构体的指针呢?这就得益于offsetof宏的实现.关于这个宏,前面的博文也有讲解,但不够深入,今天的这个例子,足以对结构体本身的原理大彻大悟,我们来看下面这个例子: #include <stdio.h

2014秋C++第17周 项目 结构体登场

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目1-体会函数参数传递]阅读下面的程序,写出期望中的运行结果.上机运行对照,并用单步执行的方法再次体会,完全掌握用指针和引用作为形式参数的用法. #include <iostream> using namespace std; void fun1(int &x,int

C++中结构体的类型定义和初始化以及变量引用_C 语言

C++结构体类型的定义和初始化 有时需要将不同类型的数据组合成一个有机的整体,以供用户方便地使用.这些组合在一个整体中的数据是互相联系的.例如,一个学生的学号.姓名.性别.年龄.成绩.家庭地址等项,都是这个学生的属性,见图 可以看到学号(num).姓名(name).性别(sex).年龄(age).成绩(score ).地址(addr)是与姓名为"Li Fun"的学生有关的.如果在程序中将num,name,sex,age,score,addr分别定义为互相独立的变量,就难以反映出它们之间

C++第2周项目2——读取数据到结构体数组

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8635385 [项目2-读取数据到结构体数组]score.txt(从本文后粘贴自建)中是一些同学的学号.姓名.C++.高数.英语成绩,定义一个学生成绩的结构体数组,其中的成员包括学号(char num[12]).姓名(name).三门课的成绩(grade).总分

结构体struct、枚举enum、联合体union、位字段、自定义类型typedef、字节对齐

结构体struct 1 结构体的基本知识 2 结构体与函数 3 结构体数组 4 自引用结构体 枚举变量enum 联合体union 位字段 1 一般的方法定义屏蔽吗 2 用位字段来定义屏蔽吗 自定义类型typedef 字节对齐 pragma pachx 按x个字节对齐 1.结构体struct 1.1 结构体的基本知识 #include <stdio.h> struct point{ int x; int y; }p1, p2, p3; struct point pt; struct point

系统调用lseek和内核file结构体之间的关系

大家都知道lseek就是移动文件的读写位置, 也就是对应内核中file结构体中的某一个变量, 今天就是特别想看一下具体之间的关系. 软件就在于实践 首先需要有一个很方便调用lseek的环境, 这样才不会影响我们调试的兴趣, 希望能达到像python, matlab这样每个函数可以手动跑, 而不像c语言一样要编写, 然后编译, 然后执行, 然后再修改, 编译. gdb可以 1. 先准备文件1.c, 前面的头文件很重要, 不能漏 #include <stdio.h> #include <st

C++程序设计-第2周结构体应用

第一部分 程序阅读 下面的程序建立起了如图所示的动态链表.阅读程序,在草稿纸上画出链表建立的过程,借此学会如何建立链表.可以通过单步执行以辅助理解 #include <iostream> using namespace std; struct Student { long num; float score; struct Student *next; }; int main( ) { Student *head=NULL,*p,*q; //下面的程序建立起一个有三个节点的动态链表 for(in

2013级C++第2周(春)项目——结构体应用大体验

课程主页在:http://blog.csdn.net/sxhelijian/article/details/11890759,由课程主页,可以看到完整教学方案,所有参考解答 第一部分 结构体应用 [项目1-学生成绩统计]   每位同学的信息学号.姓名.C++.高数.英语成绩,定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[12]).姓名(name).三门课的成绩(grade).总分(score).均分(average)). (1)从键盘上输入N名学生的信息(N定义为常变量