c-关于指针变量的输出的问题

问题描述

关于指针变量的输出的问题
定义一个char类型的指针变量*pString
无警告的正确程序如下:

然后我想问的是,关于printf(""%s""pString);这一句:
pString是一个指针,在这个程序里边是用来存储malloc函数返回的地址,
那这句输出语句就应该写成printf(""%s""*pString);,通过*取消运算符来获得
指针pString所指向地址中的字符串,可是这样写,编译器会显示有警告:warning #2234: Argument 2 to 'printf' does not match the format string; expected 'char *' but found 'int'.
烦请各位大神们帮我解答下这个问题,万分感谢~

解决方案

字符串printf时,它会自己去寻找指针内容,所以用pString就好了。

时间: 2024-08-29 18:07:51

c-关于指针变量的输出的问题的相关文章

浅析char 指针变量char *=p 这个语句的输出问题_C 语言

学习指针的时候我一直有个疑惑,请看下面的代码: #include <iostream> using std::cout; void main() { int num=5; int *nPtr=&num; cout<<nPtr;//输出指针的地址.但是会报错<<没有直接输出int *地址的功能 return ; } 但是,将int 改成char 类型就不会报错,可以输出字符串.同样是指针,这次为何没有输出地址(理应输出指针代表的地址,但是<<并没有重载

指针、指针变量与内存空间——解惑

指针.指针变量与内存空间--解惑              一年前,我曾今在ChinaUnix写过一篇博客<关于定义一个指针与指针变量>然后搬家来了CSDN.这篇博客中写道了很多关于指针和指针变量以及空间分配的一些常见错误.但是,到现在为止,无论是CSDN的网友还是一些已经工作的同事以及大三大四的学生,陆陆续续的有人在问我关于指针与指针变量还有空间分配问题.我想在这里再写一篇博客解惑指针     问题1 int idata = 5; int *p = idata//为什么这里不对? 既然通常*

OC中的结构体变量和结构体指针变量的区别

问题描述 OC中的结构体变量和结构体指针变量的区别 OC中的结构体变量和结构体指针变量的区别?,请写出相同点和不同点 解决方案 指向结构体变量的指针指向结构体变量的指针引用结构体变量中的成员结构体中的指针变量输出 解决方案二: 一般来说结构变量定义的时候就分配了内存空间;但结构体指针,和其它指针一样,只有4个字节的指针大小,在使用时需要先动态的分配内存.

c++声明结构体指针变量提示没有构造函数错误

问题描述 c++声明结构体指针变量提示没有构造函数错误 ##在OJ中做题 ###题目描述 输入一个链表,从尾到头打印链表每个节点的值. 我的代码: // struct ListNode { // int val; // struct ListNode *next; // ListNode(int x) : // val(x), next(NULL) { // } // }; class Solution { public: vector<int> printListFromTailToHead

深入解读C++中的指针变量_C 语言

指针变量是一种特殊的变量,它和以前学过的其他类型的变量的不同之处是:用它来指向另一个变量.为了表示指针变量和它所指向的变量之间的联系,在C++中用"*"符号表示指向,例如,i_pointer是一个指针变量,而*i_pointer表示i_pointer所指向的变量. 下面两个语句作用相同: i=3; *i_pointer=3; 定义指针变量 C++规定所有变量在使用前必须先定义,即指定其类型.在编译时按变量类型分配存储空间.对指针变量必须将它定义为指针类型.先看一个具体例子: int i

C++用指针变量作为函数的参数接受数组的值的问题详细总结_C 语言

实参和形参的四种结合方式 实参 形参 实例数组名 数组名 1.1数组名 指针变量 1.2指针变量 数组名 1.3指针变量 指针变量 1.4本文以输入10个整数,然后对其进行排序,然后输出的程序为例: 形参为数组名,实参是数组名 实例代码1.1: 复制代码 代码如下: #include<iostream>using namespace std;int main(){ void Sort(int a[],int n); int a[10],i; cout<<"Please i

Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值

Android For JNI(三)--C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值 C中比较难的这一块,大概就是指针了,所以大家还是多翻阅一下资料,当然,如果只是想了解一下,看本篇也就够了,不过我也尽量陈述的很详细 一.指针 要说指针,其实通俗易懂的话来说,他应该是保存内存地址的一个变量,我们来看一下小例子 #include <stdio.h> #include <stdlib.h> main(){ //int 变量 int i ; i = 5; //打印i的值

C 语言指针变量的运算详解_C 语言

指针变量保存的是地址,本质上是一个整数,可以进行部分运算,例如加法.减法.比较等,请看下面的代码: #include <stdio.h> int main(){ int a = 10, *pa = &a, *paa = &a; double b = 99.9, *pb = &b; char c = '@', *pc = &c; //最初的值 printf("&a=%#X, pa=%#X, pb=%#X, pc=%#X\n", &

指针变量的运算

指针变量的运算 指针变量可以进行某些运算,但其运算的种类是有限的. 它只能进行赋值运算和部分算术运算及关系运算. 1.指针运算符 (1)取地址运算符& 取地址运算符&是单目运算符,其结合性为自右至左,其功能是取变量的地址.在scanf函数及前面介绍指针变量赋值中,我们已经了解并使用了&运算符. (2)取内容运算符* 取内容运算符是单目运算符,其结合性为自右至左,用来表示指针变量所指的变量.在运算符之后跟的变量必须是指针变量.需要注意的是指针运算符和指 针变量说明中的指针说明符 不是