c语言-给指针赋值可以是什么样的

问题描述

给指针赋值可以是什么样的

这个里面c3是一个指针,可以给他赋字符串吗?如果可以那是不是说明字符串只是一个地址呢(的第一个字符的地址)

解决方案

指针本身也是一个整型数据,可以赋予任何值,但指向有没有意义由程序员决定。直接将字符串赋予指针,编译器编译时会将字符串作为常量存储,并且将存储首地址赋予这个指针。所以可以给指针赋值字符串,但字符串不是一个地址。

解决方案二:

指针赋值的问题
指针赋值的问题
字符指针赋值

解决方案三:

字符串不是地址,只是一般我们要使用某个字符串的时候都是用它的地址表示他。那个c3是给他赋值了“you”这个字符串的地址。

解决方案四:

“you”在这里是一个表达式,它的值就是它的首地址

解决方案五:

  • 1. char*c3="you", 这句是首先在常量区开辟一个空间存放字符串常量“you”,然后c3这个指针存放着指向“you”的地址,但是字符串本身不是地址。

解决方案六:

  • 1. char*c3="you", 这句是首先在常量区开辟一个空间存放字符串常量“you”,然后c3这个指针存放着指向“you”的地址,但是字符串本身不是地址。

解决方案七:

指针只是存地址,可以指向任意数据,不过指针类型可以用于编译检查

时间: 2025-01-19 22:36:40

c语言-给指针赋值可以是什么样的的相关文章

讲解C语言编程中指针赋值的入门实例_C 语言

从const int i 说起 你知道我们声明一个变量时象这样int i :这个i是可能在它处重新变赋值的.如下: int i = 0; /* . . . */ i = 20; /*这里重新赋值了*/ 不过有一天我的程序可能需要这样一个变量(暂且称它变量),在声明时就赋一个初始值.之后我的程序在其它任何处都不会再去重新对它赋值.那我又应该怎么办呢?用const . /* . . . */ const int ic =20; /* . . . */ ic = 40; /*这样是不可以的,编译时是无

图片-C语言 a[0] 数组首地址只能给指针赋值吗 (a代表某数组)

问题描述 C语言 a[0] 数组首地址只能给指针赋值吗 (a代表某数组) 如果不是的话,为什么下面的代码会出错: 解决方案 因为类型不同,min是int类型,而&a[0]是int * 类型 解决方案二: 把 int mix=&a[0]; int max=&a[0]; 改成 把 int *mix=&a[0]; int *max=&a[0]; 就好了.另外,单词拼错了,最小值是min不是mix. 解决方案三: a[0]是值,&a[0]是数组首地址,加&报

c语言-求问一个C语言字符指针的问题

问题描述 求问一个C语言字符指针的问题 #include void Initialize (char * a, char * b) { a[0] = 'T'; a[1] = 'h'; a[2] = 'i'; a[3] = 's'; a[4] = ' '; a[5] = 'i'; a[6] = 's'; a[7] = ' '; a[8] = 'A'; a[9] = ''; b = a; b[8] = 'B'; } #define ARRAY_SIZE 10 char a[ARRAY_SIZE];

mp3-c语言 函数指针编译出错

问题描述 c语言 函数指针编译出错 #ifndef LIBAO_H #define LIBAO_H typedef enum{wav,wim,mp3} io_type_t; typedef struct IOINFO{ io_type_t type; //文件类型编号 char *name; //wav wim,mp3等 char *author; //作者 char *time; //编写时间 char *describe; //模块描述 } io_info_t; typedef struct

linux c语言连接数据库之后赋值的段错误

问题描述 linux c语言连接数据库之后赋值的段错误 如图,此处段错误 具体功能是 我有一个结构体指针数组,申请空间后为他赋值 当只有一个结构体的时候没问题,但是超过一个的时候就出现这种情况 求分析为什么 解决方案 是不是有字符串指针等,你直接赋值看具体哪里出错了

结构体中指针赋值问题的分析及C代码示例

问题描述 某结构体的定义如下: typedef struct { int iAge; // 年龄 char szAddr1[100]; // 地址1 char *pszAddr2; // 地址2 char **pszAddr3; // 地址3 } T_PeopleInfo; 请问如何对结构体中的各个成员变量(尤其是指针变量)进行赋值? 问题分析及C代码示例 我们可以看到,在结构体T_PeopleInfo中,pszAddr2和pszAddr3均为指针,其中pszAddr2为一级指针,pszAddr

5分钟内了解C语言的指针_C 语言

指针.引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量.在这份教程里"引用"表示计算机内存地址.从指针指向的内存读取数据称作指针的取值.指针可以指向某些具体类型的变量地址,例如int.long和double.指针也可以是void类型.NULL指针和未初始化指针.本文会对上述所有指针类型进行探讨. 根据出现的位置不同,操作符 * 既可以用来声明一个指针变量,也可以用作指针的取值.当用在声明一个变量时,*表示这里声明了一个指针.其它情况用到*表

C语言 字符串指针详解及示例代码_C 语言

C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在<C语言字符数组和字符串>中已经进行了详细讲解,这里不妨再来演示一下: #include <stdio.h> int main(){ char str[] = "http://c.biancheng.net"; int len = strlen(str), i; //直接输出字符串 printf("%s\n", str); //每次输出一个字符 for(i=0; i<

简要说明C语言中指针函数与函数指针的区别_C 语言

指针函数一般是指返回指针的函数: #include <stdio.h> int* fun(int *a) { return a; } int main(int argc, char **argv) { int a = 3; printf("%d", *(fun(&a))); return 0; }   函数指针是表示指向函数开始地址的指针: 首先要了解函数的调用过程: #include <stdio.h> int fun(int i) { return