c语言。-指针的这种定义。在这里指针s2中放的地址是啥啊

问题描述

指针的这种定义。在这里指针s2中放的地址是啥啊

char *s2=“helleworld”;这样定义的话tc里面怎样分配空间啊。单独打印s2又是什么意思啊。还请大神教教我咯

解决方案

S2是指针,一般指针都是用来存放地址的,所以s2中放的是字符串首字母的地址也就是h的地址,单独打印S2就是一个地址,*s2,才是指s2所指地址中存的具体值也就是h。

解决方案二:

这句话就是把常量区的一块内存里面存上helloworld,然后把这快内存的首地址返回给s2

解决方案三:

helleworld(估计楼主想打helloworld)被写入二进制文件,程序加载时系统自动将其装入内存,s2作为一个char指针变量,指向 helleworld所在内存。

解决方案四:

是一个指针,指向一段内存,这段内存存着字符串

解决方案五:

指针与地址

时间: 2024-10-02 13:15:26

c语言。-指针的这种定义。在这里指针s2中放的地址是啥啊的相关文章

c语言-c小白求教指针问题(定义指针变量的位置)

问题描述 c小白求教指针问题(定义指针变量的位置) 请教问什么1和2都可以编译通过,但是写到3的位置报错呢 #include <stdio.h> int main(){ int a = 10; int b = 100; int c = 1; // 1.int *d = &c; int *point_1,*point_2; //2. int *d = &c; point_1 = &a; point_2 = &b; //3.int *d = &c; prin

c-指向函数的指针不需要定义?

问题描述 指向函数的指针不需要定义? 我看<C程序设计语言>书,看到103页时,有一个关于指向函数的指针把我看糊涂了.如图所示,函数指针就是里面那个comp.可我找了半天也找不到它在哪里定义的,那么当调用它时它是怎么转换的呢?比如那个?:返回的是numcmp,那么最后是怎么转到numcmp函数里面呢? 解决方案 题主弄混了一个关键的概念:指向函数指针的本质是什么,在这里也就是您所说的comp. 请注意,这里的comp其实是一个变量,一个指针变量.而不是楼主所认为的函数!它不需要包含任何代码,因

c语言-C语言若有以下定义和语句

问题描述 C语言若有以下定义和语句 int *p,k=10; double *q,f=5.6; p=&k;q=&f; 执行语句p=(int *)q;后,*p的值是()A)一个整数 B)5 C)6 D)10====参考答案是A,求详细解释 解决方案 q一开始是指向double类型的变量,然后强转为指向int类型的指针并赋值给p,虽然强转了,但是q依然指向存储double类型5.6的8个字节的内存区域的起始地址,然后p也指向这段内存,然后对p进行取值,因为p是int类型,所以*p就取得了这段内

语言 指针类型-C语言中, 指针类型char*有什么意义。

问题描述 C语言中, 指针类型char*有什么意义. C语言中,void*与char*之类的指针类型相比,有什么特殊的用途? 解决方案 如果定义成 void * 时,就无法取指针中的数据,因为数据类型不明确. 想要取 void * 中的数据,需要转换成想要的类型指针,如 char * 或 int * . 一般 void * 做参数参数时使用,可以接受 char * 或 int * 等其它类型指针的传入.如果定义成 char * 等固定类型,则无法接收除 char * 外的其它类型指针. 解决方案

c 指针-C语言 结构体指针字符 二进制文件写入和读取 指针字符输出错误

问题描述 C语言 结构体指针字符 二进制文件写入和读取 指针字符输出错误 typedef struct s{ char *name; }student; /*将结构体读出并显示*/ int IsUsed(char str) { FILE *fp = fopen("test","rb"); student s; s.name = (char) malloc(sizeof(char)*20); fread(&s,sizeof(student),1,fp); wh

跪求解答-c语言描述:为整数定义

问题描述 c语言描述:为整数定义 为整数定义一个抽象数据类型,它包含整数的常见运算,每一个运算对应一个函数,由它的输入/输出定义 解决方案 十字链表的定义及C语言描述C语言itoa()函数和atoi()函数详解(整数转字符C实现)C语言itoa()函数和atoi()函数详解(整数转字符C实现) 解决方案二: 实现整数的四则运算?还是要实现运算符重载?

Go语言中的方法定义用法分析_Golang

本文实例讲述了Go语言中的方法定义.分享给大家供大家参考.具体分析如下: 事实上,可以对包中的任意类型定义任意方法,而不仅仅是结构体. 不能对来自其他包的类型或基础类型定义方法. 复制代码 代码如下: package main import (     "fmt"     "math" ) type MyFloat float64 func (f MyFloat) Abs() float64 {     if f < 0 {         return fl

c语言,为什么我定义了一个全局变量,总是会自动变为零?

问题描述 c语言,为什么我定义了一个全局变量,总是会自动变为零? #include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> #include<conio.h> int score=0,move=0,a[4][4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},temp[5],highest_score=0; void print(void

c语言中我重复定义了为什么编译器没报错了

问题描述 c语言中我重复定义了为什么编译器没报错了 在头文件和源文件中定义了相同的变量kk,但是编译的时候为什么没报错呢! 解决方案 C语言中重复定义的问题 解决方案二: 哪里显示出你重复定义了? int kk;//全局变量声明 int main(--) { kk = 2;//对kk进行定义 } 解决方案三: 你没有重复定义, 一个是全局变量一个是局部变量. 解决方案四: 因为有 ifndef 这个控制,会检查重复定义的,如果前面定义了就不会再定义一遍 解决方案五: 如果不是相互包含,那么问题不