對於語句 char *a="hello";
對於這個宣告方式,會造成的誤解是:宣告了乙個字元指標(它會指向乙個位置),將「字串」賦值給 指標表示式"*a"所指向的位址。但正解是:宣告了乙個字元指標後,並用字串常量的第乙個字元的位址賦值給指標變數a。
即正確順序是:1.分配記憶體給字元指標;2.分配記憶體給字串;3.將字串首位址賦值給字元指標;
這裡有兩點需要考慮清楚的地方:①*a只是指向乙個字元。舉例如下:
#include
#include
using namespace std;
int main()
{string str="hello";
char * p="hello";
couthello
hello
h②若字串常量出現在在表示式中,代表的值為該字串常量的第乙個字元的位址。所以」hello」僅僅代表的是其首字母位址。
原宣告方式相當於以下宣告方式:
char *a; a="hello";/*這裡字串"hello"僅僅代表其第乙個字元的位址*/
mysql,SQL語句對於時間的查詢
今天 select from 表名 where to days 時間欄位名 to days now 昨天select from 表名 where to days now to days 時間欄位名 1 7天select from 表名 where date sub curdate interval ...
SQL語句對於約束的增加及修改
sql語句對於約束的增加及修改 使用sql 語句在初次建立資料表時,同時增加約束的方法非常簡單 create table 表名 列名 列的屬性 約束名 n 即可,可建立的約束包括 primary key foreign key null not null check default等例如 creat...
SQL語句對於約束的增加及修改
使用sql語句在初次建立資料表時,同時增加約束的方法非常簡單 create table 表名 列名 列的屬性 約束名 n 即可,可建立的約束包括primary key foreign key null not null check default等 例如create table student st...